MPAndroidChart 教程:开始 Getting Started
入门
本章介绍使用此库的基本设置。
添加依赖
首先,将此库的依赖项添加到项目中。如何执行此操作在此存储库的用法部分中进行了描述。Gradle是使用此库作为依赖项的推荐方法。
创建视图
要使用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或其他内容中检索它:
// in this example, a LineChart is initialized from xml LineChart chart = (LineChart) findViewById(R.id.chart);
或者在代码中创建它(然后将其添加到布局中):
// programmatically create a LineChart LineChart chart = new LineChart(Context); // get a layout defined in xml RelativeLayout rl = (RelativeLayout) findViewById(R.id.relativeLayout); rl.add(chart); // add the programmatically created chart
添加数据
拥有图表实例后,您可以创建数据并将其添加到图表中。此示例使用LineChart,其中Entry类表示图表中具有x和y坐标的单个条目。其他图表类型(例如BarChart)使用其他类(例如BarEntry)。
要将数据添加到图表中,请将您拥有的每个数据对象包装到Entry对象中,如下所示:
YourData[] dataObjects = ...; List<Entry> entries = new ArrayList<Entry>(); for (YourData data : dataObjects) { // turn your data into Entry objects entries.add(new Entry(data.getValueX(), data.getValueY())); }
下一步,您需要将创建的List<Entry>添加到LineDataSet对象中。DataSet对象保存属于一起的数据,并允许对该数据进行单独设计。以下使用的“Label ”仅具有描述性目的,并在Legend中显示(如果已启用)。
LineDataSet dataSet = new LineDataSet(entries, "Label"); // add entries to dataset dataSet.setColor(...); dataSet.setValueTextColor(...); // styling, ...
最后一步,您需要将创建的LineDataSet对象(或多个对象)添加到LineData对象中。此对象包含由Chart实例表示的所有数据,并允许进一步样式化。创建数据对象后,您可以将其设置为图表并刷新它:
LineData lineData = new LineData(dataSet); chart.setData(lineData); chart.invalidate(); // refresh
请考虑上面的场景一个非常基本的设置。有关更详细的说明,请参阅设置数据部分,它解释了如何根据示例将数据添加到各种图表类型。
造型
有关图表表面和数据的设置和样式的信息,请访问常规设置和样式部分。有关各个图表类型的更具体的样式和设置,请查看特定设置和样式 Wiki页面。
参考:
https://github.com/PhilJay/MPAndroidChart/wiki/Getting-Started
https://blog.csdn.net/u014136472/article/details/50293767
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Android异步消息机制
目录介绍 1.Handler的常见的使用方式 2.如何在子线程中定义Handler 3.主线程如何自动调用Looper.prepare() 4.Looper.prepare()方法源码分析 5.Looper中用什么存储消息 6.Handler发送消息如何运作 7.Looper.loop()方法源码分析 8.runOnUiThread如何实现子线程更新UI 9.Handler的post方法和view的post方法 10.得出部分结论 好消息 博客笔记大汇总【16年3月到至今】,包括Java基础及深入知识点,Android技术博客,Python学习笔记等等,还包括平时开发中遇到的bug汇总,当然也在工作之余收集了大量的面试题,长期更新维护并且修正,持续完善……开源的文件是markdown格式的!同时也开源了生活博客,从12年起,积累共计47篇[近20万字],转载请注明出处,谢谢! 链接地址:https://github.com/yangchong211/YCBlogs 如果觉得好,可以star一下,谢谢!当然也欢迎提出建议,万事起于忽微,量变引起质变! 00.Android异步消息机制 如...
- 下一篇
安卓开发学习笔记(四):Android Stuidio无法实现隐式Intent是为什么?
一.首先检查我们的代码: FirstActivity.java(主活动程序当中的代码):Button3监听器后面的代码就是我们隐式Intent的业务逻辑所在了,大家可以往下面看看,大概在代码的第57行。 1 package com.example.lenovo.activitytest; 2 3 import android.support.v7.app.AppCompatActivity; 4 import android.os.Bundle; 5 import android.view.Menu; 6 import android.view.MenuItem; 7 import android.view.View; 8 import android.widget.Button; 9 import android.widget.Toast; 10 import android.content.Intent; 11 12 public class FirstActivity extends AppCompatActivity { 13 @Override 14 public boole...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Mario游戏-低调大师作品
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Red5直播服务器,属于Java语言的直播服务器
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS8编译安装MySQL8.0.19
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS6,CentOS7官方镜像安装Oracle11G
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2更换Tomcat为Jetty,小型站点的福音