0

我有一个使用 AChartEngine 生成的条形图。但是,我似乎遇到了关于 Y 轴网格线的问题。如下图所示(不是我的),沿值有垂直于 Y 轴的线,这使用户可以轻松查看级别。

例子

然而,我的图表只显示了前两个 Y 轴值的网格线/水平线。有没有人知道如何解决这个问题?

照片: 我的图表

这是我的代码:

    //collection of multiple vales for one renderer or series
    XYMultipleSeriesRenderer mRenderer = new XYMultipleSeriesRenderer(); 

    mRenderer.addSeriesRenderer(renderer);
    mRenderer.setChartTitle("Sales for " + customerCD);
    mRenderer.setXTitle("\n \n Item Codes");
    mRenderer.setAxisTitleTextSize(30);
    mRenderer.setChartTitleTextSize(30);
    mRenderer.setLabelsTextSize(20);
    mRenderer.setYTitle("\n\n\n\n\n\n\n Number of Orders");
    mRenderer.setLabelsColor(Color.BLACK);
    mRenderer.setZoomButtonsVisible(true);
    mRenderer.setShowLegend(true);
    mRenderer.setLegendTextSize(25);
    mRenderer.setShowGridX(true); // this will show the grid in graph
    mRenderer.setShowGridY(true);
    mRenderer.setAxesColor(Color.BLACK);
    mRenderer.setGridColor(Color.BLACK);
    mRenderer.setYLabelsColor(0, Color.BLACK);
    mRenderer.setXLabelsColor(Color.BLACK);
    // mRenderer.setAntialiasing(true);
    mRenderer.setBarSpacing(.5); // adding spacing between the line or
                                    // stacks
    mRenderer.setApplyBackgroundColor(true);
    mRenderer.setBackgroundColor(Color.WHITE);
    mRenderer.setMarginsColor(Color.WHITE);
    mRenderer.setXAxisMin(0);
    mRenderer.setXAxisMax(itemCount + 1);
    mRenderer.setXLabels(0);

    mRenderer.setYAxisMin(0);
    mRenderer.setYAxisMax(max+1);
    //right, top, left, bottom
    mRenderer.setMargins(new int[]{30,50,100,10});
    //
    mRenderer.setXLabelsPadding(10);
    mRenderer.setYLabelsPadding(20);

    for(int i = 0 ; i < ItemCD.length; i++){
        mRenderer.addXTextLabel(i+1, ItemCD[i]);
    }

// mRenderer.addXTextLabel(1, "收入"); // mRenderer.addXTextLabel(2, "Saving"); // mRenderer.addXTextLabel(3, "支出"); // mRenderer.addXTextLabel(4, "NetIncome");

    mRenderer.setZoomEnabled(true, false);


    mRenderer.setPanEnabled(true, false); // will fix the chart position

    //xMin, xMax, yMin, yMax
    mRenderer.setPanLimits(new double[]{0, itemCount + 1, 0, max + 1});
    mRenderer.setOrientation(Orientation.VERTICAL);
4

0 回答 0