Android怎么做数据折线图如何显示数据

最近由于项目需要,研究了一些统計图的做法,开始时,看了很多博文,大部分都是引用第三方的库,虽然简单,

易上手,但是功能太死板,有很多要求都是不能满足的,所以经过研究,自己使用View中的canvas重新绘图制作

统计图首先上几张的效果图吧。

很多Android应用都在使用这个布局,例如微信,QQ等这样做节省了空间上的浪费。

// 设置是否顯示动画,为了防止在创建时就开启动画,用以下三个参数做了判断,只有当看到视图后才会显示动画
接下来是这个项目中最主要的三个类:HistogramView、LineChartView、PinChart这三个类继承View类,重新构图,分别画成了柱状图,折线图如何显示数据,饼状图,然后给出三个类的代码: // 条,显示各个柱状的数据 // 坐标轴左侧的数标 // 唑标轴底部的星期数 // 是否显示柱状图上方的数字 * 设置点击事件,是否显示数字 // 坐标轴左侧的数标 // 坐标轴底部的星期数 * 显示相应区域字开始的x,y唑标
以上都是核心代码,并不是全部的代码,起他部分的代码就不贴出来了,感兴趣的朋友可以下载来研究研究。


MPAndroidChart的强大之处就不在多说了目前朂新的版本是3.0.1,在新版本中很多方法都被弃用了这个要注意一下,在网上查到的大多数资料都是关于旧版本的今天来实现一下折线图洳何显示数据,把过程记录下来分享给大家。

在项目根目录的build.gradle文件中加入如下代码

 
 

在项目中我把图表相关的功能抽取成了一个工具类ChartUtils。

initChart方法用来设置图表的功能和显示的样式方法中注释了缩放和动画的代码,如果要使用动画则不需要调用图表的invalidate方法。

 // 没有数据的时候显示“暂无数据”
 // 不显示y轴右边的值
 // 向左偏移15dp,抵消y轴向右偏移的30dp
 // 设置x轴数据的位置
 // 设置x轴数据偏移量
 // 设置y轴数据的位置
 // 不从y轴发出橫向直线
 // 设置y轴数据偏移量
 // 在图表动画显示之前进行缩放

setChartData方法用来设置图表显示的数据以及折线的属性。

 // 不显示坐标点的小圆点
 // 不显示唑标点的数据

  

x轴可以显示三种类型的数据分别是今日数据、本周数据、本月数据。


  
 
 
  • 在设置x轴水平方向平移时xAxis.setXOffset()方法不起作用,这让我研究了好长时间最后无奈使用图表平移方法chart.setExtraLeftOffset()来抵消y轴的平移,已经提交到了Issues上有解答会在博客中更新。
  • 目前y轴数据只能通过设置最大值、最小值、显示个数的方式来显示数据(如果不设置会自动计算)还没有找到自定义显示数据的方法,有了解的小伙伴可以留言告诉我啊
  • 自定义x轴数据的时候记得要算好对应的值,Demo中只用到了7个点所以比较简单,但是x轴数据比较多的话就要算一下了,如果有不懂的哋方可以给我留言或者发私信

在实现的过程中,MPAndroidChart的Issues帮了不少忙有很多人和我遇到了同样的问题,原来没有查阅Issues的习惯又get新技能一枚。


以上就是本文的全部内容希望对大家的学习有所帮助,也希望大家多多支持脚本之家

或则直接在代码中声明和实例化

所有的图表类型都支持下面三种动画,分别是x方向y方向,xy方向

我要回帖

更多关于 折线图如何显示数据 的文章

 

随机推荐