【问题标题】:setBarSpacing not working in achartengine AndroidsetBarSpacing 在 achartengine Android 中不起作用
【发布时间】:2014-03-12 13:59:19
【问题描述】:

我正在尝试使用 achartEngine 来 dar 条形图。这就是我到现在为止所做的。

public void drawBarChart()
    {

        setRenderer();
        chartView = ChartFactory.getBarChartView(this, getDataSet(), renderer, Type.STACKED);
        mainLayout.addView(chartView);
        chartView.repaint();

    }


    public XYMultipleSeriesDataset getDataSet()
    {

         XYSeriesRenderer r = new XYSeriesRenderer();
            r.setColor(Color.BLUE);
            renderer.addSeriesRenderer(r);

        XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();
        XYSeries currentSeries = new XYSeries("Current Series Title");
        currentSeries.add(1, 10);
        currentSeries.add(2, 20);
        currentSeries.add(3, 15);
        currentSeries.add(4, 35);
        currentSeries.add(5, 25);
        dataset.addSeries(currentSeries);
        double maxY = currentSeries.getMaxY();
        renderer.setShowLegend(false);
        renderer.setYAxisMax(maxY*1.4);
        renderer.setYAxisMin(0);
        renderer.setXAxisMin(currentSeries.getMinX()-1);
        renderer.setPanLimits(new double[]{currentSeries.getMinX(),currentSeries.getMaxX()*1.4,currentSeries.getMinY(),currentSeries.getMaxY()*1.4});

        return dataset;
    }


    public void setRenderer()
    {
        renderer = new XYMultipleSeriesRenderer();      
        renderer.setApplyBackgroundColor(true);
        renderer.setBackgroundColor(Color.CYAN);
        renderer.setAxisTitleTextSize(14);
        renderer.setChartTitleTextSize(16);
        renderer.setLabelsTextSize(28);
        renderer.setLegendTextSize(14);     
        renderer.setBarWidth(60);           
        renderer.setXLabelsAngle(-20);
        renderer.setXLabelsColor(Color.RED);
        renderer.setYLabelsColor(0, Color.RED);
        renderer.setPanEnabled(true, false);
        renderer.setShowGridX(true);
        renderer.setGridColor(Color.MAGENTA);
        renderer.setShowCustomTextGrid(true);
        renderer.setZoomEnabled(false);
        renderer.setZoomEnabled(true, false);
        renderer.setMargins(new int[]{10,0,0,0});
        renderer.setAxesColor(Color.RED);
        renderer.setAxisTitleTextSize(14);
        renderer.setLabelsColor(Color.RED);
        renderer.setYLabelsColor(1, Color.MAGENTA);
        renderer.addXTextLabel(1, "January");
        renderer.addXTextLabel(2, "February");
        renderer.addXTextLabel(3, "March");
        renderer.addXTextLabel(4, "April");
        renderer.addXTextLabel(5, "May");
        renderer.setXLabels(0); 
        renderer.setYLabelsAlign(Align.LEFT);
        renderer.setMarginsColor(Color.CYAN);
        renderer.setLegendTextSize(26);

    }

但是,我无法设置条形之间的间隙。

我尝试使用renderer.setBarSpacing(0.5); 即使这样它也没有显示任何变化。我犯了什么错误吗?

【问题讨论】:

    标签: android eclipse bar-chart achartengine


    【解决方案1】:

    删除这一行 -

    renderer.setBarWidth(30);  
    

    使用时

        renderer.setBarSpacing(0.5);
    

    我认为我们一次只能使用这两种设置中的一种。

    【讨论】:

    • @keshav.. 如果我删除 renderer.setBarWidth(30); 那么它工作正常。但是,如果我删除它,那么条形宽度就太大了。如何减少它?还有,初期怎么缩小??
    • 为了减少宽度,我认为你必须调整间距,意味着将其设置为 0.8 或更大。
    • 你问我没有得到什么缩放?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-18
    • 2021-08-31
    • 2016-02-20
    • 2015-05-25
    相关资源
    最近更新 更多