MPAndroidChart 教程

以前没用过MPAndroidChart,为了方便学习查找,引用下别个大神的笔记。
其余文章索引:
MPAndroidChart 教程:概述
MPAndroidChart 教程:开始 Getting Started(一)
MPAndroidChart 教程:与图表进行手势交互 Interaction with the Chart(二)
MPAndroidChart 教程:坐标轴,X轴,Y轴,Labels(三)
MPAndroidChart 教程:设置数据,设置颜色(四)
MPAndroidChart 教程:数据格式器 ValueFormatter(五)
MPAndroidChart 教程:图表的具体设置 Specific chart settings(六)
MPAndroidchart 教程:图例 Legend(七)
MPAndroidChart 教程:动态和实时数据 Dynamic & Realtime Data(八)
MPAndroidChart 教程:修改视窗 Modifying the Viewport(九)
MPAndroidChart 教程:动画 Animations(十)
MPAndroidChart 教程:MarkerView(十一)
MPAndroidChart 教程:ChartData类,ChartData子类, DataSet类,DataSet子类(十二)
时间仓促,难免有错误,有的话希望大家在评论中指出,谢谢。
源码:范例代码在线查看或下载
一、MPAndroidChart 是什么?
MPAndroidChart 是 Android 一个强大且容易使用的图表库
- 支持线状图、柱状图、散点图、烛状图、气泡图、饼状图和蜘蛛网状图
- 支持缩放、拖动(平移)、选择和动画
- 适用于
Android 2.2(API 8) 和以上
该图标库支持 跨平台 使用:Android 和 iOS
二、MPAndroidChart 有哪些特性?
- 8种不同的图表类型
- 两轴缩放(支持触摸手势,两轴单独或同时的放缩)
- 拖 / 平移 / 抛(触摸手势)
- Combined-Charts 组合图表(线状、柱状、散点图等)
- 双轴(比如说有两个独立的Y轴数据)
- 画值 (draw values into the chart with touch-gesture)
- 高亮显示值(我们可以自定义Popup-views来高亮显示我们选中的值)
- 多个 / 单独的轴
- 图保存到sd卡(图像或txt文件)
- 预定义的颜色模板
- Legends (自动生成,自定义)
- 自定义轴(x轴和y轴)
- 动画(建立x和y轴动画)
- 限制线(比如提供附加信息、最大值 …)
- 完全自定义(paints、字体、legends、颜色、背景、手势、虚线 …)
- 平滑缩放和滚动 30.000 数据点(线状,柱状图表)
三、图表类型样例图
LineChart (with legend, simple design)

LineChart (with legend, simple design)

LineChart (cubic lines)

Combined-Chart (bar- and linechart in this case)

BarChart (with legend, simple design)

BarChart (grouped DataSets)

Horizontal-BarChart

PieChart (with selection, …)

ScatterChart (with squares, triangles, circles, … and more)

CandleStickChart (for financial data)

BubbleChart (area covered by bubbles indicates the value)

RadarChart (spider web chart)

四、使用方法
1. Gradle dependency (推荐,在Android Studio中使用很方便 )
在 build.gradle 添加下面的代码
repositories {
maven { url "https://jitpack.io" }
}
dependencies {
compile 'com.github.PhilJay:MPAndroidChart:v2.1.6'
}
2. 以 jar 文件形式使用
- 下载最新发布版的 jar 文件
- 复制
mpandroidchartlibrary-version.jar文件到 Android 项目的libs文件夹中 - 开始使用
MPAndroidChart图标库
五、精彩使用案例
1. Phone Addiction
Google Play : “Phone Addiction” 应用介绍及下载

2. 车辆管理
Google Play : “车辆管理” 应用介绍及下载

2. Blutdruck Begleiter
Google Play : “Blutdruck Begleiter” 应用介绍及下载




3. 健康无穷大
Google Play : “健康无穷大” 应用介绍及下载

3. 其他








MPAndroidChart 教程的更多相关文章
- Android MPAndroidChart RadarChart (蜘蛛网图)
最近项目涉及到这个统计图形,经过实现,记录下,防止忘记了. 1.Github地址:MPAndroidChart 官方使用RadarChart demo:RadarChartActivitry 2.使用 ...
- MPAndroidChart 3.0——LineChart(折线图)
显示效果 MPAndroidChart每一种图表的基本使用方式都基本相同 了解一种图表的实现 参考项目源码其他的图表也就差不多哩 在布局文件中定义 <com.github.mikephil.ch ...
- MPAndroidChart Wiki(译文)~Part 2
7. 填充数据 这一章节将讲解给各式各样的图表设置数据的方法. 7.1 LineChart(线形图) 想给图表添加数据,使用如下方法: public void setData(ChartData da ...
- MPAndroidChart实现LineChart(折线图)
一.参照油管视频做法 1.引入依赖 新建Android工程,然后分别在build.gradle(Project:...)添加 maven { url 'https://jitpack.io' } 在b ...
- Angular2入门系列教程7-HTTP(一)-使用Angular2自带的http进行网络请求
上一篇:Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数 感觉这篇不是很好写,因为涉及到网络请求,如果采用真实的网络请求,这个例子大家拿到手估计还要自己写一个web ...
- Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数
上一篇:Angular2入门系列教程5-路由(一)-使用简单的路由并在在路由中传递参数 之前介绍了简单的路由以及传参,这篇文章我们将要学习复杂一些的路由以及传递其他附加参数.一个好的路由系统可以使我们 ...
- Angular2入门系列教程5-路由(一)-使用简单的路由并在在路由中传递参数
上一篇:Angular2入门系列教程-服务 上一篇文章我们将Angular2的数据服务分离出来,学习了Angular2的依赖注入,这篇文章我们将要学习Angualr2的路由 为了编写样式方便,我们这篇 ...
- Angular2入门系列教程4-服务
上一篇文章 Angular2入门系列教程-多个组件,主从关系 在编程中,我们通常会将数据提供单独分离出来,以免在编写程序的过程中反复复制粘贴数据请求的代码 Angular2中提供了依赖注入的概念,使得 ...
- Angular2入门系列教程1-使用Angular-cli搭建Angular2开发环境
一直在学Angular2,百忙之中抽点时间来写个简单的教程. 2016年是前端飞速发展的一年,前端越来越形成了(web component)组件化的编程模式:以前Jquery通吃一切的田园时代一去不复 ...
随机推荐
- 正确使用Python logging
这篇文章主要参考: http://victorlin.me/posts/2012/08/26/good-logging-practice-in-python ===================== ...
- activiti数据库表结构全貌解析
http://www.jianshu.com/p/e6971e8a8dad 下面本人介绍一些activiti这款开源流程设计引擎的数据库表结构,首先阐述:我们刚开始接触或者使用一个新的东西(技术)时我 ...
- apache2 多站点虚拟主机配置
<VirtualHost *:80> ServerAdmin webmaster@dummy-host.example.com DocumentRoot /var/www/ ServerN ...
- 利用PHP读取文件
$fp=fopen("D:\\phpStudy\\www\\date\\file\\2.txt","r");if($fp){ while(!feof($f ...
- 将json返回的日期格式转换
<script> function ChangeDateFormat(cellval) { var date = new Date(parseInt ...
- webrtc第一篇
1.介绍 众所周知,浏览器本身不支持相互之间直接建立信道进行通信,都是通过服务器进行中转.比如现在有两个客户端,甲和乙,他们俩想要通信,首先需要甲和服务器.乙和服务器之间建立信道.甲给乙发送消息时,甲 ...
- Jquery Ajax调用aspx页面方法
Jquery Ajax调用aspx页面方法 在asp.net webform开发中,用jQuery ajax传值一般有几种玩法 1)普通玩法:通过一般处理程序ashx进行处理: 2)高级玩法:通过as ...
- select根据text选择项与select其它操作
// 6.设置select中text="paraText"的第一个Item为选中 function jsSelectItemByValue(objSelect, objItemTe ...
- iOS开发——UI基础-UIButton、UIImageView、UILabel的选择
1.UILabel - UILabel的常见属性 @property(nonatomic,copy) NSString *text; 显示的文字 @property(nonatomic,retain) ...
- Apache + Tomcat + mod_jk实现集群服务
Tomcat中的集群原理是通过组播的方式进行节点的查找并使用TCP连接进行会话的复制. 实现效果:用apache 分发请求到tomcat中的对应的项目 环境说明: 操作系统:window xp Jav ...