专栏名称: 开发者全社区
分享和推送Java/Android方向的技术和文章,让你成为这方面的大牛,让你每天都成长一点。同时,我们也会邀请BAT的大牛分享原创!
目录
相关文章推荐
51好读  ›  专栏  ›  开发者全社区

解析Android上强大的图表库MPAndroidChart—某些人的福音

开发者全社区  · 公众号  · android  · 2017-06-20 07:44

正文


热文导读 | 点击标题阅读

2017 春季最酷、最受欢迎的 30 个 Android 库,快收藏!

吊炸天!74款APP完整源码!

Android第一神器—Xposed框架,堪称黑科技,功能强大!

来源:http://www.jianshu.com/p/c6e8ea5e9ba0



条形图和线形图的组合图

一图胜千文,纯粹的数据枯燥、无聊,让人看不下去,改变一下形式,用图表装饰一下,立马有趣多了。既然有这样的外部需求,Android世界里肯定要有图表库才行,今天解析的就是其中最强大的一个MPAndroidChart。

GitHub地址:https://github.com/PhilJay/MPAndroidChart

核心功能

  • 支持以下图表:

    • Line Chart(线图)

    • Bar Chart(条形图,又称柱状图)

    • Combined Chart(组合图:线性+条形)

    • Pie Chart(饼状图)

    • Scatter Chart(散点图)

    • Bubble Chart(气泡图)

    • Stacked Bar Chart(堆积条形图)

    • Candle Stick Chart(蜡烛图)

    • Cubic Line Chart(立方拟合的折线图)

    • Radar Chart(雷达图)

    • Realtime Chart(实时折线图)

    • Sinus Bar Chart(正弦柱状图)

  • 支持以下操作和设置

    • 支持x,y轴缩放

    • 支持拖拽

    • 支持手指滑动

    • 支持高亮显示

    • 支持保存图表到文件中

    • 支持从文件(txt)中读取数据

    • 预先定义颜色模板

    • 自动生成标注

    • 支持自定义x,y轴的显示标签

    • 支持x,y轴动画

    • 支持x,y轴设置最大值和附加信息

    • 支持自定义字体,颜色,背景,手势,虚线等

集成和使用

总共有四种方式集成,推荐直接用Gradle依赖

1.在project根目录的build.gradle添加中央库地址

2.在项目build.gradle中添加相关依赖:

3.在xml文件定义图表类型,比如LineChart, BarChart, ScatterChart, CandleStickChart, PieChart, BubbleChart or RadarChart

4.基础设置

5.设置数据源:各种图表的数据不太一致,对于LineChart而言,就是一系列的(x,y)


此处源码,参考Demo中的LineChartActivity1

最后样式如下:



Demo概览

Demo提供32个样例:

  1. Line Chart:演示一个简单的线图

  2. Line Chart (Dual YAxis):演示一个有两个Y轴线图

  3. Bar Chart:演示一个柱状图

  4. Horizontal Bar Chart:演示水平柱状图,即X轴和Y轴反过来。

  5. Combined Chart:演示 线图、柱状图、蜡烛图、气泡图 如何叠加在一起显示

  6. Pie Chart:演示简易饼状图

  7. Pie Chart with value lines:演示带数据线的饼状图

  8. Scatter Chart:演示了 圆点、方点、斜线 这三种样式的散点图

  9. Bubble Chart: 演示了不同颜色的气泡图。

  10. Stacked Bar Chart: 演示了堆积条形图

  11. Stacked Bar Chart Negative:演示了有负数数值的堆积条形图

  12. Another Bar Chart:只在底部显示值的柱状图。

  13. Multiple Lines Chart:3条线图混合在一起,用颜色和实线、虚线来区分

  14. Multiple Bars Chart:不同年份、不同公司的数据组成的柱状图

  15. Charts in ViewPager Fragments:结合ViewPager、Fragment,透过左右滑动查看不同的图表。

  16. BarChart inside ListView:柱状图如何嵌入在ListView中

  17. Multiple charts inside ListView:不同类型的图表如何嵌入在ListView中

  18. Inverted Line Chart:演示(0,0)在左上角的线图

  19. Candle Stick Chart: 演示蜡烛图

  20. Cubic Line Chart:演示 立方拟合的折线图

  21. Radar Chart:演示雷达图

  22. Colored Line Chart:在不同背景色上演示同一张线图

  23. Realtime Chart:实时产生数据,进行演示。

  24. Dynamical data adding:实时产生数据集和数据,进行演示。

  25. Performance Line Chart:用30000个数据来测试性能

  26. Sinus Bar Chart:演示正弦柱状图。

  27. Chart in ScrollView:演示如何把图表放在ScrollView中。

  28. BarChart positive / negative:演示有负值的柱状图。

  29. Realm.io Database:演示如何从Realm数据库中获取数据进行展示(里面有9个案例)。

  30. Time Chart:演示时间图。

  31. Filled LineChart:演示如何填满两条线图中间的部分。

  32. Half PieChart:演示一个半圆的饼状图。

参考:

  1. zhuanghongji·MPAndroidChart 图表库的API练习

  2. android开源图表库MPAndroidChart

看完本文有收获?请分享给更多人

更多学习资料点击下面的“阅读原文”获取


Java和Android架构

欢迎关注我们,一起讨论技术,扫描和长按下方的二维码可快速关注我们。搜索微信公众号:JANiubility。

公众号:JANiubility