AChartEngine - setXLabelsPadding方法不起作用

时间:2013-08-23 09:02:24

标签: android achartengine

我想显示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});
}

截图

Graph Image

2 个答案:

答案 0 :(得分:1)

出现此问题是因为使用自定义标签时我们正在使用

mRenderer.setXLabels(0);

所以当XYChart.java的 drawXLabels 方法调用它时,标签的长度 0 并且不会进入循环,这就是它无法正常工作的原因

我已附上固定版本的副本。

顺便感谢@Dan的帮助

下载链接:"AChartEngine-fixed-1.2.0.jar"

结果:

Result

答案 1 :(得分:0)

我刚尝试过它确实有效。尝试使用更大的值,您将获得所需的X轴标签填充。