MPAndroidChart Wiki(一)

本文介绍了如何使用MPAndroidChart库为Android应用创建图表。主要内容包括添加依赖、创建视图、添加数据及设置图表样式等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

开始


这个章节包括了使用这个库(MPAndroidChart)最基本的设置

添加依赖

第一步,自然是将对该库的依赖添加到你的项目中。在MPAndroidChart仓库的 usage 部分描述了怎么添加。推荐使用Gradle来使用这个库。

创建view

要使用 LineChart, BarChart, ScatterChart, CandleStickChart, PieChart, BubbleChart or RadarChart,在.xml中进行如下定义:

<com.github.mikephil.charting.charts.LineChart
        android:id="@+id/chart"
        android:layout_width="match_parent"
        android:layout_height="match_parent" /> 
复制代码

然后在Activity,Fragment或者其他组件中获取这个view。

//在这个例子中,Linechart是从xml中初始化的。
LineChart chart = (LineChart) findViewById(R.id.chart);
复制代码

或者可以在代码中创建(然后添加到layout中)

//代码创建一个Linechart
LineChart chart = new LineChart(Context);

//从xml中获取layout
RelativeLayout rl = (RelativeLayout) findViewById(R.id.relativeLayout);
rl.add(chart);//添加用代码创建的chart
复制代码

添加数据

在获取一个chart的实例之后,便可以创建数据并添加到chart中。以下例子使用LineChart,这其中,Entry类便代表着这个chart中的x,y坐标。对于其他的chart,像Barchart中则是使用BarEntry

为了把数据添加到你的chart中,你需要把每一个数据封进Entry对象中,就像下面:

YourData[] dataObjects = ...;

List<Entry> entries = new ArrayList<Entry>();

for (YourData data : dataObjects) {

    //把你的数据封进Entry对象中
    entries.add(new Entry(data.getValueX(), data.getValueY())); 
}
复制代码

下一步,你需要把你创建的List<Entry> 添加到一个LineDataSet对象中,DataSet对象能持有这些属于同一类的数据,并且能对这些数据设置单独的风格。下面用到的“Label”仅仅是是起到描述的目的,在Legend被允许展示的情况下,就可以在Legend中展示。

LineDataSet dataSet = new LineDataSet(entries, "Label"); // 把entries添加到DataSet中。
dataSet.setColor(...);
dataSet.setValueTextColor(...); // 设置风格, ...
复制代码

最后一步,需要把你刚刚创建的LineDataSet添加到LineData对象中,这个对象将持有着这个chart实例所需要展示的所有数据,并且可以有额外的风格设置。在创建完data对象时,就可以将其设置到chart中,并刷新。

LineData lineData = new LineData(dataSet);
chart.setData(lineData);
chart.invalidate(); // 刷新
复制代码

请注意上面这一非常基本设置的流程,如果需要查看更详细的拓展,请跳到setting data的章节,该章节将通过实例描述如何把数据添加到多种chart

风格

关于chart界面,数据的设置和风格,可以访问general settings & styling章节,如果是查看更多关于单独的chart的特殊设置和风格的,可以访问specific settings & stylingwiki界面

转载于:https://juejin.im/post/5b1943def265da6e580828a1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值