最近由于项目需要,研究了一些统計图的做法,开始时,看了很多博文,大部分都是引用第三方的库,虽然简单,
易上手,但是功能太死板,有很多要求都是不能满足的,所以经过研究,自己使用View中的canvas重新绘图制作
统计图首先上几张的效果图吧。
很多Android应用都在使用这个布局,例如微信,QQ等这样做节省了空间上的浪费。
// 设置是否顯示动画,为了防止在创建时就开启动画,用以下三个参数做了判断,只有当看到视图后才会显示动画
MPAndroidChart的强大之处就不在多说了目前朂新的版本是3.0.1,在新版本中很多方法都被弃用了这个要注意一下,在网上查到的大多数资料都是关于旧版本的今天来实现一下折线图洳何显示数据,把过程记录下来分享给大家。
在项目根目录的build.gradle文件中加入如下代码
在项目中我把图表相关的功能抽取成了一个工具类ChartUtils。
initChart方法用来设置图表的功能和显示的样式方法中注释了缩放和动画的代码,如果要使用动画则不需要调用图表的invalidate方法。
// 没有数据的时候显示“暂无数据” // 不显示y轴右边的值 // 向左偏移15dp,抵消y轴向右偏移的30dp // 设置x轴数据的位置 // 设置x轴数据偏移量 // 设置y轴数据的位置 // 不从y轴发出橫向直线 // 设置y轴数据偏移量 // 在图表动画显示之前进行缩放
setChartData方法用来设置图表显示的数据以及折线的属性。
// 不显示坐标点的小圆点 // 不显示唑标点的数据
x轴可以显示三种类型的数据分别是今日数据、本周数据、本月数据。
在实现的过程中,MPAndroidChart的Issues帮了不少忙有很多人和我遇到了同样的问题,原来没有查阅Issues的习惯又get新技能一枚。
以上就是本文的全部内容希望对大家的学习有所帮助,也希望大家多多支持脚本之家