转载请注明本文出处:http://blog.csdn.net/wingichoy/article/details/50428246

MPChart是android上一款强大的图表开源库,他可以轻松的绘制折线图 柱状图 饼状图等等..

由于项目需要用到,于是去百度了一番,发现先有的demo基本上没有讲解,新手看起来会很复杂。于是想写一篇最简单的使用方法。

老规矩,先上效果图

可以看出来我用MPChart绘制了一个折线图,支持手势缩放 很简单好用!

废话不多说,直接开始今天的内容:

一、需要原料:

1.MPChart的库。

2.Android Studio

3.程序猿一只

二、步骤:

1.先从git上面clone下来所需要的项目依赖,复制MPChartLib到我们的项目中(与app)同级。

2.打开settings.gradle 输入

include 'MPChartLib'

打开app.build.gradle 输入

compile project (':MPChartLib')

3.在布局文件中加入LineChart

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.wingsofts.mpchartdemo.MainActivity"> <com.github.mikephil.charting.charts.LineChart
android:id="@+id/lineChart"
android:layout_width="match_parent"
android:layout_height="match_parent"> </com.github.mikephil.charting.charts.LineChart>
</RelativeLayout>

4.在代码中操作数据集。这里介绍一下涉及到的类

XAxis 为 X轴的类

Entry 为每个点的类

DataSet 一组Y轴上面的数据

Linedata 整个Y轴的数据

有了这些涉及到的类,在看代码应该很好理解了,直接上代码:

public class MainActivity extends AppCompatActivity {
private LineChart mLineChart; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mLineChart = (LineChart) findViewById(R.id.lineChart); XAxis xAxis = mLineChart.getXAxis(); //设置X轴的文字在底部
xAxis.setPosition(XAxis.XAxisPosition.BOTTOM); //设置描述文字
mLineChart.setDescription("7天走势图"); //模拟一个x轴的数据 12/1 12/2 ... 12/7
ArrayList<String> xValues = new ArrayList<>();
for (int i = 1; i < 8; i++) {
xValues.add("12/" + i);
} Log.e("wing", xValues.size() + ""); //模拟一组y轴数据(存放y轴数据的是一个Entry的ArrayList) 他是构建LineDataSet的参数之一 ArrayList<Entry> yValue = new ArrayList<>();
for (int i = 0; i < 7; i++) {
yValue.add(new Entry(i, i));
} //构建一个LineDataSet 代表一组Y轴数据 (比如不同的彩票: 七星彩 双色球)
LineDataSet dataSet = new LineDataSet(yValue, "双色球"); //模拟第二组组y轴数据(存放y轴数据的是一个Entry的ArrayList) 他是构建LineDataSet的参数之一 ArrayList<Entry> yValue1 = new ArrayList<>(); yValue1.add(new Entry(7, 0));
yValue1.add(new Entry(17, 1));
yValue1.add(new Entry(3, 2));
yValue1.add(new Entry(5, 3));
yValue1.add(new Entry(4, 4));
yValue1.add(new Entry(3, 5));
yValue1.add(new Entry(7, 6)); Log.e("wing", yValue.size() + ""); //构建一个LineDataSet 代表一组Y轴数据 (比如不同的彩票: 七星彩 双色球) LineDataSet dataSet1 = new LineDataSet(yValue1, "七星彩");
dataSet1.setColor(Color.BLACK);
//构建一个类型为LineDataSet的ArrayList 用来存放所有 y的LineDataSet 他是构建最终加入LineChart数据集所需要的参数
ArrayList<LineDataSet> dataSets = new ArrayList<>(); //将数据加入dataSets
dataSets.add(dataSet);
dataSets.add(dataSet1); //构建一个LineData 将dataSets放入
LineData lineData = new LineData(xValues, dataSets); //将数据插入
mLineChart.setData(lineData); }
}

好了,快运行一下看看效果吧,其他的折线图啊等等,都是一样的,只需要比着葫芦画瓢就可以了。

如果你有兴趣还可以看看简易图表 自定义View 系列

求关注 求评论 求star

https://github.com/githubwing

android 开源图表库MPChart最简单使用方法示例教程Demo--折线图 柱状图的更多相关文章

  1. 我的Android进阶之旅------>【强力推荐】Android开源图表库XCL-Charts版本发布及展示页

    因为要做图表相关的应用,后来百度发现了一个很好的Android开源图表库(XCL-Charts is a free charting library for Android platform.) 下面 ...

  2. Android开源图表库介绍

    XCL-Charts XCL-Charts V1.8     Android开源图表库(XCL-Charts is a free charting library for Android platfo ...

  3. Android开源图表库XCL-Charts版本号公布及展示页

    XCL-Charts V2.1 Android开源图表库(XCL-Charts is a free charting library for Android platform.) XCL-Charts ...

  4. android开源图表库MPAndroidChart(曲线图、直方图、饼状图)

    github地址:https://github.com/PhilJay/MPAndroidChart 添加依赖: Add the following to your project level bui ...

  5. 最牛逼android上的图表库MpChart(一) 介绍篇

    最牛逼android上的图表库MpChart一 介绍篇 MpChart优点 MpChart是什么 MpChart支持哪些图表 MpChart效果如何 最牛逼android上的图表库MpChart(一) ...

  6. 最牛逼android上的图表库MpChart(三) 条形图

    最牛逼android上的图表库MpChart三 条形图 BarChart条形图介绍 BarChart条形图实例 BarChart效果 最牛逼android上的图表库MpChart(三) 条形图 最近工 ...

  7. 最牛逼android上的图表库MpChart(二) 折线图

    最牛逼android上的图表库MpChart二 折线图 MpChart折线图介绍 MpChart折线图实例 MpChart效果 最牛逼android上的图表库MpChart(二) 折线图 最近工作中, ...

  8. hellocharts-android开源图表库(效果非常好)

    泡在网上的日子 发表于 2014-11-07 12:28 第 33156 次阅读 chart 2 编辑推荐:稀土掘金,这是一个高质量的技术干货分享社区,web前端.Android.iOS.设计资源和产 ...

  9. Android开源图表图形库K线图

    Android开源图表图形库K线图 web端k线图一般使用TradingView,android原生的一般是在MPAndroidChart 基础上做开发的,目前看到一个比较好的K线开源组件是KChar ...

随机推荐

  1. Go 语言变量

    变量来源于数学,是计算机语言中能储存计算结果或能表示值抽象概念.变量可以通过变量名访问. Go 语言变量名由字母.数字.下划线组成,其中首个字母不能为数字. 声明变量的一般形式是使用 var 关键字: ...

  2. COS对象存储服务的使用

    ---------------------------------------------------------------------------------------------[版权申明:本 ...

  3. hiredis异步接口封装并导出到Lua

    hiredis异步接口封装并导出到Lua(金庆的专栏 2017.1)hiredis 不支持 Windows, Windows 下使用 wasppdotorg / hiredis-for-windows ...

  4. 初始化nodejs+webpack+vuejs

    安装nodejs 4.x 参考 curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash - sudo apt-get install ...

  5. ZAB协议

    zookeeper依赖zab协议来实现分布式数据一致性.基于该协议,zookeeper实现了一种主备模式的系统架构来保持ZooKeeper为高可用的一致性协调框架,自然的ZooKeeper也有着一致性 ...

  6. Android更新UI的几种方法

    在Android开发过程中,常需要更新界面的UI.比如网络请求操作.一些耗时操作都不能放在UI线程中运行的,需要放在子线程,而子线程又不能更新UI界面,这是我们需要引入一个Handler,消息处理机制 ...

  7. XMPP(一)-openfire服务端的安装和搭建

    XMPP全称:可扩展通讯和表示协议 简介:可扩展通讯和表示协议 (XMPP) 可用于服务类实时通讯.表示和需求响应服务中的XML数据元流式传输.XMPP以Jabber协议为基础,而Jabber是即时通 ...

  8. Java学习之参数传递详解

    Java中的参数传递问题: 基本类型:形式参数的改变对实际参数没有影响.在参数传递过程中,形参和实参占用了两个完全不同的内存空间. 引用类型:形式参数的改变直接影响实际参数.在参数传递的过程中,形参和 ...

  9. Android播放在线音乐文件

    Android播放在线音频文件 效果图: 源码下载地址: http://download.csdn.net/detail/q4878802/9020687 添加网络权限: <uses-permi ...

  10. Hive-ORC文件存储格式

    ORC文件格式是从Hive-0.11版本开始的.关于ORC文件格式的官方文档,以及基于官方文档的翻译内容这里就不赘述了,有兴趣的可以仔细研究了解一下.本文接下来根据论文<Major Techni ...