【问题标题】:Android AchartEngine bar graph drawing issueAndroid AchartEngine 条形图绘制问题
【发布时间】:2015-07-22 17:28:18
【问题描述】:

我制作了一个动态条形图演示,每次点击都会重绘下一个条形图。 但问题是

  • 栏从右侧添加。
  • 添加新钢筋后钢筋尺寸不断缩小。

我必须制作一个从左侧添加并固定宽度的条。

以下是屏幕截图发生的情况

代码:

dataset = new XYMultipleSeriesDataset();

    series = new XYSeries("data");

    dataset.addSeries(series);

    /*
     * for (int i = 0; i < 20; i++) { series.add(0, 0); }
     */

    // Now we create the renderer
    renderer = new XYSeriesRenderer();
    renderer.setLineWidth(1);
    renderer.setColor(Color.RED);
    renderer.setChartValuesSpacing(1);
    // Include low and max value
    // we add point markers
    renderer.setPointStyle(PointStyle.CIRCLE);
    renderer.setPointStrokeWidth(.1f);
    renderer.setShowLegendItem(false);

    mRenderer = new XYMultipleSeriesRenderer();
    mRenderer.addSeriesRenderer(renderer);
    mRenderer.setBackgroundColor(Color.argb(0x00, 0xff, 0xff, 0xff));

    // We want to avoid black border
    mRenderer.setMarginsColor(Color.argb(0x00, 0xff, 0x00, 0x00)); // transparent
    mRenderer.setAxesColor(Color.argb(0x00, 0xff, 0x00, 0x00));
    mRenderer.setGridColor(Color.argb(0x00, 0xff, 0x00, 0x00)); // margins

    // margins
    // Disable Pan on two axis
    mRenderer.setPanEnabled(false, false);
    mRenderer.setYAxisMax(20);
    mRenderer.setYAxisMin(0);

    mRenderer.setShowGrid(false); // we show the grid
    mRenderer.clearYTextLabels();
    mRenderer.setShowGridY(false);
    mRenderer.setApplyBackgroundColor(true);
    mRenderer.setBackgroundColor(Color.argb(0x00, 0xff, 0xff, 0xff));
    mRenderer.setMarginsColor(Color.argb(0x00, 0xff, 0xff, 0xff));
    mRenderer.setPanEnabled(false, false);
    mRenderer.setZoomEnabled(false, false);
    mRenderer.setShowLabels(false);
    mRenderer.setXLabelsPadding(2);
    mRenderer.setPointSize(1);
    mRenderer.setBarSpacing(.2);

    mChartView = ChartFactory.getBarChartView(this, dataset, mRenderer,
            BarChart.Type.DEFAULT);

    graphLayout.addView(mChartView, 0);

    b = (Button) findViewById(R.id.button1);
    b.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View arg0) {
            generate();

        }
    });

}

protected void generate() {
    int r = randInt(1, 20);
    // dataset.addSeries(series);

    series.add(0, r);

    mChartView.repaint();
}

【问题讨论】:

    标签: android graph achartengine


    【解决方案1】:

    设置multiRenderer.setXAxisMax(maxX);价值

    maxX = 图表中的系列数。 .如果您想让它不收缩,请尝试设置 maxX 值,该值仅允许图表显示图表中所有系列的 25%,我的示例代码如下:

    multiRenderer.setXAxisMax(maxX * .25);

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多