piechart 文档 android,Android MPAndroidChart之PieChart和数据结构以及模型【5】
Android MPAndroidChart之PieChart和数据结构以及模型【5】
以MPAndroidChart的饼状图PieChart为例。
测试的MainActivity的Java代码:
package com.example.piechart;
import java.util.ArrayList;
import com.github.mikephil.charting.charts.PieChart;
import com.github.mikephil.charting.data.Entry;
import com.github.mikephil.charting.data.PieData;
import com.github.mikephil.charting.data.PieDataSet;
import com.github.mikephil.charting.formatter.PercentFormatter;
import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
/*
* MPAndroidChart比较复杂的部分在于绘制图表的数据源的数据结构。
* 通常,在一个二位的坐标体系内,一个任意的坐标点应包含(x,y)这样的对应数据点。
* 一般模型是在x坐标轴的x-i位置,y存在一个对应的y-i值对应,形成坐标点(i-x,i-y)
* MPAndroidChart在一定角度上将x轴的数据集处理成(i,字符标签)的简单模式,
* 但MPAndroidChart对于y轴的数据集整合成复杂的复合体。初级,y轴的Entry包含(x,y)这样的坐标点数据。
* 比如,在坐标点(xi,yi)的位置绘制数据点,那么在MPAndroidChart中,在x轴的i位置绘制字符串表示是x坐标轴的数值,然后构造y坐标轴的Entry,Entry包含(value,i)
*
* */
public class MainActivity extends Activity {
private PieChart mChart;
private String[] x = new String[] { "A类事物", "B类事物", "C类事物" };
// 凑成100 % 100
private float[] y = { 10f, 60f, 30f };
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mChart = (PieChart) findViewById(R.id.chart);
// 图的描述
mChart.setDescription("by Zhang Phil @ http://blog.csdn.net/zhangphil");
// 以3个对应数据集做测试
setData(x.length);
}
private void setData(int count) {
// 准备x"轴"数据:在i的位置,显示x[i]字符串
ArrayList xVals = new ArrayList();
// 真实的饼状图百分比分区。
// Entry包含两个重要数据内容:position和该position的数值。
ArrayList yVals = new ArrayList();
for (int xi = 0; xi < count; xi++) {
xVals.add(xi, x[xi]);
// y[i]代表在x轴的i位置真实的百分比占
yVals.add(new Entry(y[xi], xi));
}
PieDataSet yDataSet = new PieDataSet(yVals, "百分比占");
// 每个百分比占区块绘制的不同颜色
ArrayList colors = new ArrayList();
colors.add(Color.RED);
colors.add(Color.GREEN);
colors.add(Color.BLUE);
yDataSet.setColors(colors);
// 将x轴和y轴设置给PieData作为数据源
PieData data = new PieData(xVals, yDataSet);
// 设置成PercentFormatter将追加%号
data.setValueFormatter(new PercentFormatter());
// 文字的颜色
data.setValueTextColor(Color.BLACK);
// 最终将全部完整的数据喂给PieChart
mChart.setData(data);
mChart.invalidate();
}
}
需要的布局文件,其实就一个PieChart元素:
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.piechart.MainActivity" >
android:id="@+id/chart"
android:layout_width="match_parent"
android:layout_height="match_parent" />
代码运行结果:
相关文章:
【1】《Android统计图表MPAndroidChart》链接地址:http://blog.csdn.net/zhangphil/article/details/47656521
【2】《基于Android MPAndroidChart实现腾讯QQ群数据统计报表核心功能》链接地址:http://blog.csdn.net/zhangphil/article/details/47685515
【3】《Android实现天气预报温度/气温折线趋势图》链接地址:http://blog.csdn.net/zhangphil/article/details/47702245
【4】《Android统计图表之柱状图(条形图)》链接地址:http://blog.csdn.net/zhangphil/article/details/47727913
【5】MPAndroidChart在github上的项目主页:https://github.com/PhilJay/MPAndroidChart
piechart 文档 android,Android MPAndroidChart之PieChart和数据结构以及模型【5】相关推荐
- android11用石墨文档,轻协作 | 石墨文档 for Android 版轻体验
前几天喜闻石墨文档终于推出 Android 版本,算是全面支持 ios.Android 和 web 平台.身为 Android 用户,可以告别体验不佳的 web 端,下面为大家送上石墨文档 for A ...
- android程序打印,通过iPrintScan软件打印文档(适用于Android安卓)
文档标题:通过iPrint&Scan软件打印文档(适用于Android安卓) 文档代码:CHN-FP0576-1 最近修改日期:2020年11月19日 通过iPrint&Scan软件打 ...
- NLP之TM之LDA:利用LDA算法瞬时掌握文档的主题内容—利用希拉里邮件数据集训练LDA模型并对新文本进行主题分类
NLP之TM之LDA:利用LDA算法瞬时掌握文档的主题内容-利用希拉里邮件数据集训练LDA模型并对新文本进行主题分类 目录 输出结果 设计思路 核心代码 训练数据集 LDA模型应用 输出结果 设计思路 ...
- piechart 文档 android,(Android 应用之路) MPAndroidChart~PieChart
简介 AndroidChart">MPAndroidChart是PhilJay大神给Android开发者带来的福利.MPAndroidChart是一个功能强大并且使用灵活的图表开源库, ...
- Android程序解析xml至文档中,Android开发之DOM解析xml文件的方法
本文实例讲述了Android中DOM解析xml文件的方法.分享给大家供大家参考,具体如下: 一.在assets文件中写xml文件 李明 30 李向梅 25 二.在service中写一个DOM解析的操作 ...
- Windows 下 OpenCV 3.4.0 + Contrib 部署文档 (VS2015 Android)
声明 以下[参考]链接,如有侵权,请联系删除,在此先感谢在网络上无私奉献的人们~ 如有错误,请联系更正,GitHub同文地址 文章目录 声明 VS 篇 编译 OpenCV + OpenCV_Contr ...
- win7我的文档里.android是什么文件夹,[转载]移动Win7用户文件夹(我的文档)默认位置至D盘...
Windows7的用户文件夹默认所在位置是系统盘(通常是C盘)下的"Users"目录之内.该文件夹中储存着所有的用户生成文件,比如你保存在"桌面"上的文件(实际 ...
- 迄今为止最全的技术文档汇总,编程语言,操作系统,数据结构,设计模式等赶紧收藏起来。
前端江太公 目录 语言无关 版本控制 编程艺术 编辑器 编译原理 操作系统 程序员杂谈 大数据 分布式系统 管理和监控 函数式概念 计算机图形学 其它 软件开发方法 设计模式 数据库 项目相关 在线教 ...
- 03_TF2 Guide、文档清单(数据输入、估计器、保存模型、加速器、性能调优等)、TF2库和扩展库(TensorBoard、数据集、TensorFlow Hub、概率和统计分析库、图像处理库)
对应位置:https://tensorflow.google.cn/guide 本博文为笔者对TensorFlow2官网翻译,后续会将此博文完善,连接对应地址,将会被慢慢替换大家熟悉的中文博文 1.T ...
最新文章
- 终于决定要写写东西了
- 深层学习:心智如何超越经验2.3 解释变化
- html5毕业作品开场白,毕业典礼主持人开场白
- 密码篇——非对称加密
- 20165334 《java程序设计》第2周学习总结
- mysql5.7学习nosql_如何学习NoSQL?
- Python 30年,你对它的核心特性了解多少?
- 工业交换机如何判断性能的好坏呢?
- 一文读懂MySQL查询语句的执行过程
- FortiGate双链路不同运营商上网配置
- java 中的锁 aqs_Java并发编程系列-(4) 显式锁与AQS
- 十几个NPM恶意包劫持 Discord 服务器
- 会议家用多面手!智能微型投影设备导购
- 20169212《Linux内核原理及分析》第十二周作业
- 算法笔记_面试题_2.移动零(将数组的的0元素移到末尾)
- Java自学网站推荐(整理好发给大家)
- 精灵商场项目(二)--Github+EasyUI+商品列表
- iphone通过iTunes12.7怎么设置铃声
- coursera “the media could not be loaded either because the server or network falled...“解决办法
- android补间动画有哪几种,android三种动画详解(补间动画、帧动画、属性动画)...