我正在使用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轴对齐?有什么我缺乏的吗?
答案 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的额外空间。