在Y轴上填充[AChart引擎]

时间:2013-11-08 14:03:07

标签: android android-view achartengine

我正在使用AChart引擎制作条形图。这是代码段。

XYSeriesRenderer renderer = new XYSeriesRenderer();             
renderer.setColor(Color.GREEN);
renderer.setDisplayChartValues(true);
renderer.setChartValuesSpacing((float) 5.5d);
renderer.setLineWidth((float) 10.5d);

XYMultipleSeriesRenderer mRenderer = new XYMultipleSeriesRenderer();            
mRenderer.addSeriesRenderer(renderer);
mRenderer.setZoomButtonsVisible(true);    
mRenderer.setShowLegend(true);
mRenderer.setShowGridX(true);      
mRenderer.setShowGridY(true);              
mRenderer.setBarSpacing(.5);   
mRenderer.setApplyBackgroundColor(true);
mRenderer.setBackgroundColor(Color.BLACK);
mRenderer.setXAxisMin(0);
mRenderer.setYAxisMin(0);
mRenderer.setXAxisMax(5);
mRenderer.setYLabelsPadding(20f);
mRenderer.addXTextLabel(1,"Income");
mRenderer.addXTextLabel(2,"Saving");
mRenderer.addXTextLabel(3,"Expenditure");
mRenderer.addXTextLabel(4,"NetIncome");
mRenderer.setPanEnabled(true, false);    

这就是出现的内容。

enter image description here

参见 Y轴标签在轴上。为了克服它,我设置了填充。

mRenderer.setYLabelsPadding(20f);

然而,结果并非我的预期。

enter image description here

Y轴值已超过屏幕。如何通过适当的填充将标签相对于Y轴对齐?有什么我缺乏的吗?

2 个答案:

答案 0 :(得分:1)

我认为您需要定义左边距的大小:

mRenderer.setMargins(new int[] {0, 50, 0, 0});

数组中的值为top,left,bottom,right。

答案 1 :(得分:-1)

我解决了这个问题:

int yMax=xySeriesIdle.getMaxY();
renderer.setYAxisMax(yMax+yMax/5d);

为y值提供1/5的额外空间。