分组柱状图
本教程只限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();
groupBars一定要写在setdata后面不然会报错
groupBars里的数据要带单位f。
堆叠条形图
这个感觉很鸡肋,而且效果也不太好
正常BarChart的方法然后修改添加的数据即可
BarEntry barEntry=new BarEntry(0f,new float[]{10,20,30});
yvalues.add(barEntry);