转载请注明本文出处: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. O(1)空间内实现矩阵转置

    思路:  * 每个元素转置前后会形成一个环(一个数字有多个环)  * 利用环来移动元素达到转置  * 关键:  * 1.得到元素下标的前驱后继,  * 2.判断环是否已走过(意味属于一个环的元素一次转 ...

  2. Python rich comparisons 自定义对象比较过程和返回值

    Classes wishing to support the rich comparison mechanisms must add one or more of the following new ...

  3. [Matlab]技巧笔记

    1.将字符串作为Matlab命令执行 md = 'dir'; eval(md); 2.将字符串作为系统命令执行 md = 'dir'; system(md); 3.使显示图像的坐标轴使用相同的度量单位 ...

  4. 协议系列之IP协议

    1.协议 协议(protocol)的定义:为计算机网络中进行数据交换而建立的规则.标准或约定的集合.两个终端相互通信时双方达成的一种约定,规定了一套通信规则,双方通信必须遵守这些规则.这些规则规定了分 ...

  5. Struts 1 之<html>标签库

    <html:html>标签 <html:html>标签用于在网页开头生成HTML的<html>元素,它只有一个用于显示用户语言的lang属性: <html:h ...

  6. EBS总账(GL)模块常用表

     select * from gl_sets_of_books 总帐 select * from gl_code_combinations gcc wheregcc.summary_flag='Y ...

  7. jvm库对nio的处理

    JVM的IO选择 查JVM源码时刚好看到JVM库的一段代码: public static SelectorProvider create() { String osname = AccessContr ...

  8. 2.2、Android Studio通过注解提升代码检测

    使用像Lint这样的代码检测工具可以帮助你发现问题和提升代码,但是代码检测在有些地方很难应用.例如,Android的资源ID,使用一个int类型来表示字符.图像.颜色或者其他资源类型所以代码检测工具不 ...

  9. Linux Debugging(八): core真的那么难以追踪吗?

    本周遇到了好几个core都很有典型性.在这里和大家分享下. 相信有过Linux编程经验的人,肯定都遇到过.感觉周围人很多对core有天然的恐惧感,尤其对刚入行不久的同学来说.当然了,也有工作好几年看到 ...

  10. 【Android应用开发】Android Studio 简介 (Android Studio Overview)

    一. Intelij IDEA 环境简介 Android Studio 来源 : Android Studio 是 Intelij IDEA 的免费版本 + Android SDK 集成的; -- I ...