您的位置:首页 > 移动开发 > Android开发

Android MPChart 实现BarChart图形,负数条形显示在0一下,正数条形在0以上的!

2016-06-08 10:30 501 查看
可能没说明白,具体就是介样子的:



具体怎么做呢,(其实很简单)用到的插件还是强大的MPchart,还有之前的写道的BarChart图形,长介样子



要做成第一张图的这个样子首先要准备一组有正有负的数组,相比大家有很多方法去写,我的做法是这样的:

生成一个随机的正负的数组:(这里看着好看我就把随机数用了三次,出现了三个竖条)

private BarData generate1Data(int cnt) {

ArrayList<BarEntry> entries = new ArrayList<BarEntry>();

for (int i = 0; i < 6; i++) {
entries.add(new BarEntry((int) (Math.random() * -30)+10, i));
}

BarDataSet d0 = new BarDataSet(entries, "流量影响度");
BarDataSet d1 = new BarDataSet(entries, "收入影响度");
BarDataSet d2 = new BarDataSet(entries, "量收比差");
d0.setColor(Color.rgb(255, 51, 0));
d1.setColor(Color.rgb(247, 150, 70));
d2.setColor(Color.rgb(155, 187, 89));

ArrayList<BarDataSet> sets = new ArrayList<>();
sets.add(d0);
sets.add(d1);
sets.add(d2);

BarData cd = new BarData(getMonths(), sets);
cd.setValueFormatter(new MyValueFormatter());

return cd;
}


然后绑定一下:

private void setData(){
ArrayList<BarData> mlist = new ArrayList<>();
for (int i = 0; i < 6; i++) {
mChild2list.add(generateData(i + 1));
}
}


准备数据的工作做完就是一些基本的设置了,然后通过barchart控件得到BarChart的Y轴

YAxis yAxis = mBarChart.getAxisLeft();
yAxis.setStartAtZero(false);//就是这句话就OK了
//不设置默认是true,设置完成后只要有负数的数据,这时候条形图就可以向下跑了,挺强大的!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息