0

我正在使用 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);    

这就是显示的内容。

在此处输入图像描述

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

mRenderer.setYLabelsPadding(20f);

然而,结果并不是我所期望的。

在此处输入图像描述

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

4

2 回答 2

1

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

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

数组中的值是上、左、下、右。

于 2013-11-08T15:39:34.247 回答
-1

我是这样解决的:

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

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

于 2014-08-20T09:30:10.227 回答