MPChart的柱状图BarChart

时间:2024-03-22 15:16:08

分组柱状图
本教程只限MPChart 3.0以上
官方WIKI教程
虽说官方有教程,但毕竟是老外写的,不如咱中国人写的明白。

首先,xml里写一个barchart我不多说了
然后是准备数据源

int [] data1={1,4,2,3};
int [] data2={3,1,3,6};

我这里使用了数组。
接着添加数据

ArrayList<BarEntry> yvalues1=new ArrayList<>();
        ArrayList<BarEntry> yvalues2=new ArrayList<>();
        for (int k=0;k<data1.length;k++)
        {
            yvalues1.add(new BarEntry(k,data1[k]));
            yvalues2.add(new BarEntry(k,data2[k]));
        }

然后把数据绑定到Bardataset上

 BarDataSet barDataSet1=new BarDataSet(yvalues1,"Group1");
 barDataSet1.setColor(Color.GREEN);
 BarDataSet barDataSet2=new BarDataSet(yvalues2,"Group2");
 barDataSet1.setColor(Color.BLUE);

修改一下颜色好区分开了
接下来绑定数据,然后设置分组。

        BarData barDatag=new BarData(barDataSet1,barDataSet2);
        barDatag.setBarWidth(柱状图宽度);
        barChart2.setData(barDatag);
        barChart2.groupBars(开始点,两组之间距离,每一个柱状图的距离);
        barChart2.invalidate();

MPChart的柱状图BarChart
groupBars一定要写在setdata后面不然会报错
groupBars里的数据要带单位f。

堆叠条形图
这个感觉很鸡肋,而且效果也不太好
MPChart的柱状图BarChart
正常BarChart的方法然后修改添加的数据即可

BarEntry barEntry=new BarEntry(0f,new float[]{10,20,30});
yvalues.add(barEntry);