您的位置:首页 > 移动开发 > Android开发

【1】MPAndroidChart图表库的使用—来创建我们的第一张折线图

2017-05-14 20:57 465 查看

【1】MPAndroidChart图表库的使用—来创建我们的第一张图表

由于项目需要最近就在学习MPAndroidChart这个优秀的图表类库的使用方法,既然是第三方的库也就需要我们潜下心来慢慢学习其用法,但是当我去搜索MpAndroidChart的用法时完全被博客中的大段大段的代码吓到了,一个HelloWord例子竟然需要写这么长的代码和设置这么多属性???后来当我看到MPAndroidChart的官方文档时才发现原来只需要二十多行代码就可以搞定。我觉得网上那些大段大段的代码是不适合初学者去学习的,这样只能对这个库产生一种复杂和难以掌握的不好印象,也不容易理清楚创建一张图表的具体步骤是怎样的,这里贴上MPAndroidChart的官方文档供大家学习参考:https://github.com/PhilJay/MPAndroidChart/wiki,同样作为一名初学者,我决定将自己学习MPAndroidChart的一些收获记录成博客分享给大家,当然如果出现什么错误,请大家在评论下面提出来哦!

下面我们就来创建MpAndroidChart的第一个HelloWord示例:

运行效果:



由于是最简单的一个HelloWord例子,一些文字的属性,折线的宽度都是默认的,所以看上去可能会有点怪怪的……

代码:

xml布局文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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:orientation="vertical"
tools:context="com.merp
4000
yzf.reviewandroid.activity.MpChart02Activity">

<com.github.mikephil.charting.charts.LineChart
android:id="@+id/linechart"
android:layout_width="match_parent"
android:layout_height="match_parent"/>

</LinearLayout>


MpChart01Activity.java

/**
* MPAndroidChart的第一个HelloWorld示例
*/
public class MpChart01Activity extends AppCompatActivity {

private LineChart mLineChart;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_mp_chart02);

//1.从xml中获取linechart的引用
mLineChart = (LineChart) findViewById(R.id.linechart);

//2.创建一个List集合,用来存放一条折线上的所有点
List<Entry> entries = new ArrayList<Entry>();

entries.add(new Entry(10,20));
entries.add(new Entry(20,30));
entries.add(new Entry(30,15));
entries.add(new Entry(40,50));

//3.将entries设置给LineDataSet数据集
LineDataSet dataSet = new LineDataSet(entries, "Label");

//4.将上面创建的LineDataSet对象设置给LineData
LineData lineData = new LineData(dataSet);

//5.把lineData设置给lineChart就可以显示出来折线图了,就像把adapter设置给listview一样
mLineChart.setData(lineData);

}
}


下面来介绍一下上面的示例中设计到的一些知识点:

Entry类 封装了点的 x,y坐标

LineDataSet 表示图表上的一条折线的数据集(一条折线包含许多个点)

LineData 表示图表上的所有折线的数据集(使用的时候需要将LineDataSet设置给LineData)

MPAndroidChart一张图表可以显示多条折线,上面的示例中只显示了一条折线,这条折线正是通过创建LineData对象时通过构造方法将折线上的点集合设置进去的:

LineData lineData = new LineData(dataSet);


我们也可以通过调用下面的方法设置多条折线给LineData :

lineData.addDataSet(dataSet1);


今天的内容差不多就是这些,我们目前只需要掌握创建出一张折线图需要那几个步骤,只要我们理解了这几个步骤,后面的各种属性的设置,以及点的动态添加对于我们来说都不在话下,学习起来也会比较轻松。

作为一个只想找轮子的程序员,我真心佩服有时间有精力更有激情愿意在GitHub上造轮子发出来造福别人的同行!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: