【问题标题】:AChartEngine Bar Chart Margin IssuesAChartEngine 条形图边距问题
【发布时间】:2013-04-01 06:21:50
【问题描述】:

首先,这是我的应用程序当前外观的链接:

在显示的两个图表中,我想去掉条形图左侧的边距。有什么想法吗?

以下是我的渲染器设置。我已经搜索并无法找到有类似问题的人。好像应该很简单吧……

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;
}

任何帮助将不胜感激,谢谢!

【问题讨论】:

    标签: android bar-chart achartengine margins


    【解决方案1】:

    偷偷摸摸。

    我正在玩弄边距,因为我决定使用我自己的 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 控制右边距。换句话说,所有边距都必须顺时针旋转才能按预期工作。 (即,要更改右边距,您可以更改“顶部”的边距;要更改顶部边距,您可以更改“左侧”的边距;等等)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-19
      • 1970-01-01
      相关资源
      最近更新 更多