Android MPChart 实现BarChart图形,负数条形显示在0一下,正数条形在0以上的!
2016-06-08 10:30
501 查看
可能没说明白,具体就是介样子的:
具体怎么做呢,(其实很简单)用到的插件还是强大的MPchart,还有之前的写道的BarChart图形,长介样子
要做成第一张图的这个样子首先要准备一组有正有负的数组,相比大家有很多方法去写,我的做法是这样的:
生成一个随机的正负的数组:(这里看着好看我就把随机数用了三次,出现了三个竖条)
然后绑定一下:
准备数据的工作做完就是一些基本的设置了,然后通过barchart控件得到BarChart的Y轴
具体怎么做呢,(其实很简单)用到的插件还是强大的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,设置完成后只要有负数的数据,这时候条形图就可以向下跑了,挺强大的!
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories