首先,这里是我的应用程序目前的链接:ds http://i50.tinypic.com/30skom0.jpg
在显示的两个图表中,我想摆脱条形图左边的边距。有什么想法吗?
以下是我的渲染器设置。我搜索过,无法找到有类似问题的人。看起来应该很简单......
private void drawBarChart(XYMultipleSeriesDataset dataset) {
int marginT = 10;
int marginL = 5;
int marginB = 10;
int marginR = 5;
int[] margins = {marginT, marginL, marginB, marginR};
...
XYMultipleSeriesRenderer renderer = buildBarRenderer(colors);
renderer.setOrientation(Orientation.VERTICAL);
renderer.getSeriesRendererAt(0).setDisplayChartValues(false);
renderer.getSeriesRendererAt(1).setDisplayChartValues(false);
renderer.getSeriesRendererAt(2).setDisplayChartValues(false);
renderer.setLabelsColor(Color.LTGRAY);
renderer.setAxesColor(Color.BLACK);
renderer.setYAxisMin(0);
renderer.setMargins(margins);
renderer.setYAxisMax(maxYVal);
renderer.setYLabels(0);
renderer.setXLabels(0);
renderer.setXAxisMin(0);
renderer.setXAxisMax(2);
renderer.setZoomEnabled(false,false);
renderer.setPanEnabled(false, false);
renderer.setBarSpacing(-0.5);
renderer.setShowAxes(false);
renderer.setShowLabels(false);
renderer.setShowLegend(false);
...
display chart in view
}
protected XYMultipleSeriesRenderer buildBarRenderer(int[] colors) {
XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer();
int length = colors.length;
for (int i = 0; i < length; i++) {
SimpleSeriesRenderer r = new SimpleSeriesRenderer();
r.setColor(colors[i]);
renderer.addSeriesRenderer(r);
}
return renderer;
}
非常感谢任何帮助,谢谢!
答案 0 :(得分:6)
偷偷摸摸。
我正在玩边缘因为我决定使用我自己的TextViews作为标题,因为它们渲染得比AChartEngine渲染的标题好得多。根据文档,它说明边际的工作如下:
margins - an array containing the margin size values, in this order: top, left, bottom, right
这就是我设置我的边距变量的原因如下:
int[] margins = {marginT, marginL, marginB, marginR};
事实证明,对于水平条形图,marginB控制左边距,marginT控制右边距。换句话说,所有边距必须顺时针旋转才能按预期工作。 (即更改右边距,更改'顶部'的边距;更改上边距,更改'左边'的边距;等等。)