android开源图表库MPChart最简单使⽤⽅法⽰例教程Demo--
折线图柱状图
MPChart是android上⼀款强⼤的图表开源库,他可以轻松的绘制折线图 柱状图 饼状图等等..
由于项⽬需要⽤到,于是去百度了⼀番,发现先有的demo基本上没有讲解,新⼿看起来会很复杂。于是想写⼀篇最简单的使⽤⽅法。
⽼规矩,先上效果图
可以看出来我⽤MPChart绘制了⼀个折线图,⽀持⼿势缩放 很简单好⽤!
废话不多说,直接开始今天的内容:
⼀、需要原料:
1.MPChart的库。
2.Android Studio
3.程序猿⼀只
⼆、步骤:
1.先从git上⾯clone下来所需要的项⽬依赖,复制MPChartLib到我们的项⽬中(与app)同级。
2.打开adle 输⼊
include 'MPChartLib'
打开adle 输⼊
compile project (':MPChartLib')
3.在布局⽂件中加⼊LineChart
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="schemas.android/apk/res/android" xmlns:tools="schemas.android/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) {
setContentView(R.layout.activity_main);
mLineChart = (LineChart) findViewById(R.id.lineChart);
XAxis xAxis = XAxis();
/
/设置X轴的⽂字在底部
xAxis.setPosition(XAxis.XAxisPosition.BOTTOM);
//设置描述⽂字
mLineChart.setDescription("7天⾛势图");
//模拟⼀个x轴的数据 12/1 12/2 ... 12/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<>();
android简单教程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);
}
}
好了,快运⾏⼀下看看效果吧,其他的折线图啊等等,都是⼀样的,只需要⽐着葫芦画瓢就可以了。
如果你有兴趣还可以看看。
求关注 求评论 求star
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论