我想显示X轴标签,其距X轴的填充为10px,角度为-30度。下面是我的代码,但是它不起作用,它在轴的正下方默认位置显示标签,我希望轴和标签之间有10px的间距。
代码:
mRenderer.setXLabelsAlign(Align.CENTER);
mRenderer.setXLabelsPadding(10);
mRenderer.setXLabelsAngle(-30.0f);
请帮助解决此问题。
谢谢。
已编辑
我使用的不是AChartengine生成的自定义标签,是否会导致此问题?
代码:
public void initChart() {
mDataset = new XYMultipleSeriesDataset();
mCurrentSeries = new TimeSeries("Dates");
mDataset.addSeries(mCurrentSeries);
mRenderer = new XYMultipleSeriesRenderer();
mSeriesRenderer = new XYSeriesRenderer();
mSeriesRenderer.setPointStyle(PointStyle.CIRCLE);
mSeriesRenderer.setFillPoints(true);
mSeriesRenderer.setColor(Color.WHITE);
mRenderer.addSeriesRenderer(mSeriesRenderer);
}
public void setRenderingStyle() {
mRenderer.setBackgroundColor(getResources().getColor(R.color.ilink_blue));
mRenderer.setMarginsColor(getResources().getColor(R.color.ilink_blue));
mRenderer.setShowGridY(true);
mRenderer.setGridColor(Color.WHITE);
mRenderer.setShowCustomTextGrid(true);
mRenderer.setAntialiasing(true);
mRenderer.setPanEnabled(true, false);
mRenderer.setZoomEnabled(true, false);
mRenderer.setZoomButtonsVisible(false);
mRenderer.setXLabelsColor(Color.WHITE);
mRenderer.setYLabelsColor(0, Color.WHITE);
mRenderer.setXLabelsAlign(Align.CENTER);
mRenderer.setXLabelsPadding(10);
mRenderer.setXLabelsAngle(-30.0f);
mRenderer.setYLabelsAlign(Align.RIGHT);
mRenderer.setPointSize(3);
mRenderer.setInScroll(true);
mRenderer.setShowLegend(false);
mRenderer.setYTitle(getResources().getString(R.string.graph_bodyfat));
mRenderer.setMargins(new int[] {0, 50, 10, 10});
}
屏幕截图
最佳答案
发生此问题的原因是,在使用自定义标签时,我们正在使用
mRenderer.setXLabels(0);
因此,当XYChart.java的drawXLabels方法调用时,它的标签长度为0,并且不在循环中,这就是它不起作用的原因。
我已附上固定版本的副本。
顺便感谢@Dan的帮助
下载链接:"AChartEngine-fixed-1.2.0.jar"
结果:
关于android - AChartEngine-setXLabelsPadding方法不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18398884/