Android MPAndroidChart PieChart

继续上篇

https://blog.csdn.net/weixin_44889138/article/details/103498294
导入依赖,使用方式,可以参考上一篇

饼图

常用方法 解释
setExtraOffsets() 设置左,上,右,下的偏移量
setRotationEnabled() 是否可以转动
setDrawHoleEnabled() 中间是否是空的
getLegend() 获得图例的描述
getDescription() 获得图表的描述
getDescription() 获得图表的描述

xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".MainActivity"><com.github.mikephil.charting.charts.PieChartandroid:id="@+id/pie_chart"android:layout_width="match_parent"android:layout_height="match_parent"/></LinearLayout>

使用

  1. setPieEntry
 private List<PieEntry> setPieEntry(){PieEntry pie1 = new PieEntry(71.33f,"有违章");PieEntry pie2 = new PieEntry(28.66f,"无违章");List<PieEntry> pieEntryList = new ArrayList<>();pieEntryList.add(pie1);pieEntryList.add(pie2);return pieEntryList;}
  1. setPieData
 private PieData setPieData(List<PieEntry> pieEntryList){PieDataSet set = new PieDataSet(pieEntryList,"");List<Integer> colors = new ArrayList<>();colors.add(Color.parseColor("#4A92FC"));colors.add(Color.parseColor("#ee6e55"));set.setColors(colors);//添加颜色set.setSliceSpace(3f);//切割空间set.setYValuePosition(PieDataSet.ValuePosition.OUTSIDE_SLICE);//值在图表外显示final String [] strings = {"28.6%", "71.4%"};//格式值set.setValueFormatter(new ValueFormatter() {@Overridepublic String getFormattedValue(float value) {String flag="";if((int) value%2==0){flag="有违章:";}else{flag="无违章:";}return flag+strings[(int) value%2];}});PieData pieData = new PieData(set);return pieData;}

一些PieDataSet常用的方法

常用方法 解释
setColors() 添加颜色
setSliceSpace() 切割空间
setYValuePosition 值在图表中哪显示
setValueFormatter 格式化值
set.setYValuePosition(PieDataSet.ValuePosition.OUTSIDE_SLICE);//值在图表外显示(所占百分比)
  1. setDescription
 private void setDescription(){Description description = pieChart.getDescription();//获得图表的描述description.setText("平台有违章车辆和没违章车辆占比统计");}
  1. setLegend
 private void setLegend(){Legend legend = pieChart.getLegend();//获得图例的描述legend.setVerticalAlignment(Legend.LegendVerticalAlignment.BOTTOM);legend.setHorizontalAlignment(Legend.LegendHorizontalAlignment.CENTER);legend.setTextSize(15f);legend.setFormSize(15f);legend.setForm(Legend.LegendForm.CIRCLE);legend.setDrawInside(true);//再里面显示}

整体代码

import androidx.appcompat.app.AppCompatActivity;import android.graphics.Color;
import android.os.Bundle;import com.github.mikephil.charting.charts.PieChart;
import com.github.mikephil.charting.components.Description;
import com.github.mikephil.charting.components.Legend;
import com.github.mikephil.charting.components.YAxis;
import com.github.mikephil.charting.data.PieData;
import com.github.mikephil.charting.data.PieDataSet;
import com.github.mikephil.charting.data.PieEntry;
import com.github.mikephil.charting.formatter.ValueFormatter;import java.util.ArrayList;
import java.util.List;public class MainActivity extends AppCompatActivity {private PieChart pieChart;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);pieChart = findViewById(R.id.pie_chart);List<PieEntry> pieEntryList = setPieEntry();//设置PieEntryPieData pieData = setPieData(pieEntryList);//设置PieDatasetDescription();//设置图表的描述setLegend();//设置图例描述pieChart.setRotationEnabled(false);//禁止转动pieChart.setDrawHoleEnabled(false);//中间不留空洞pieChart.setUsePercentValues(true);pieChart.setDrawEntryLabels(false);//不使用labelpieChart.setExtraOffsets(5f, 10f, 5f, 10f);//距离pieChart.setData(pieData);pieChart.invalidate();}/*** 设置PieEntry* @return*/private List<PieEntry> setPieEntry(){PieEntry pie1 = new PieEntry(71.33f,"有违章");PieEntry pie2 = new PieEntry(28.66f,"无违章");List<PieEntry> pieEntryList = new ArrayList<>();pieEntryList.add(pie1);pieEntryList.add(pie2);return pieEntryList;}/*** 设置PieData* @param pieEntryList* @return*/private PieData setPieData(List<PieEntry> pieEntryList){PieDataSet set = new PieDataSet(pieEntryList,"");List<Integer> colors = new ArrayList<>();colors.add(Color.parseColor("#4A92FC"));colors.add(Color.parseColor("#ee6e55"));set.setColors(colors);//添加颜色set.setSliceSpace(3f);//切割空间set.setYValuePosition(PieDataSet.ValuePosition.OUTSIDE_SLICE);//值在图表外显示final String [] strings = {"28.6%", "71.4%"};//格式值set.setValueFormatter(new ValueFormatter() {@Overridepublic String getFormattedValue(float value) {String flag="";if((int) value%2==0){flag="有违章:";}else{flag="无违章:";}return flag+strings[(int) value%2];}});PieData pieData = new PieData(set);return pieData;}/*** 设置图表的描述*/private void setDescription(){Description description = pieChart.getDescription();//获得图表的描述description.setText("平台有违章车辆和没违章车辆占比统计");}/*** 设置图例描述*/private void setLegend(){Legend legend = pieChart.getLegend();//获得图例的描述legend.setVerticalAlignment(Legend.LegendVerticalAlignment.BOTTOM);legend.setHorizontalAlignment(Legend.LegendHorizontalAlignment.CENTER);legend.setTextSize(15f);legend.setFormSize(15f);legend.setForm(Legend.LegendForm.CIRCLE);legend.setDrawInside(true);//再里面显示}
}

完成

Android MPAndroidChart PieChart相关推荐

  1. piechart 文档 android,Android MPAndroidChart之PieChart和数据结构以及模型【5】

    Android MPAndroidChart之PieChart和数据结构以及模型[5] 以MPAndroidChart的饼状图PieChart为例. 测试的MainActivity的Java代码: p ...

  2. Android MPAndroidChart之饼图PieChart

    APP为了能让用户对数据有更直观,更便捷的认识,我们通常都选择了以图表的方式展示给用户,如折线图.饼图.条形图等-今天和大家分享下MPAndroidChart,一个强大便捷的图标控件. Android ...

  3. MPAndroidChart—— pieChart 属性详解

    MPAndroidChart GitHub 地址:https://github.com/PhilJay/MPAndroidChart pieChart 常用属性详解: [java] view plai ...

  4. piechart 文档 android,(Android 应用之路) MPAndroidChart~PieChart

    简介 AndroidChart">MPAndroidChart是PhilJay大神给Android开发者带来的福利.MPAndroidChart是一个功能强大并且使用灵活的图表开源库, ...

  5. Android MPAndroidChart使用v3.1.0版本之piechart百分号不显示问题

    文章目录 前言 一.解决步骤 1.无显示代码示例 .解决代码示例 总结 前言 在使用MPAndroidChartv3.1.0版本开发饼状图中根据官方demo一步步进行,可是饼状图的百分号就是不显示,只 ...

  6. android piechart饼图内容,MPAndroidChart PieChart为什么只有在点击了饼图之后才会显示颜色?...

    设置数据的代码如下.如果一个数据占了100时,饼图就会不显示颜色.只有点击一下饼图才会显示颜色,请问这是怎么回事儿呢? private void setData(int count, float ra ...

  7. android 字符串折线图,Android + MPAndroidChart 实现折线、柱形和饼状图

    本文讲讲怎么用 MPAndroidChart 框架实现折线图.柱形图.饼图,并且进行样式设置,达到和宣传图差不多的效果. 一开始看到 MPAndroidChart 的各种图表介绍图感觉很好看,但是直接 ...

  8. piechart 文档 android,Android饼图 PieChart

    PieChart 饼图,android 图表.会根据定义PieChartView的大小自动居中,所以如果要调整位置,只需要在xml更改PieChartView位置大小即可. 1.先看一下效果图: 展示 ...

  9. piechart 文档 android,mpchart piechart:如何在android中显示特定的只有一个文本值

    试试这个. piechart = (PieChart) findViewById(R.id.piechart); piechart.setUsePercentValues(true); ArrayLi ...

最新文章

  1. AI用50个三角形画出抽象版蒙娜丽莎,有股后现代的感觉了 | 谷歌大脑出品
  2. 数据更改后推送_合格的数据科学家,这些Github知识必须了解
  3. 未清采购订单关闭最全的方法
  4. 计算机操作应用实训,计算机操作实训教案计算机操作实训教案.doc
  5. Lack of free swap space on Zabbix server
  6. 疫情期间,在家使用java的SSH框架实现一个简单的任务调度系统
  7. SpringBoot2.X 整合Redis实现简单缓存操作
  8. openstack 功能_2016年OpenStack的新功能:看一下Newton版本
  9. 看过无数 Java GC 文章,这 5 个问题你也未必知道!
  10. 观点 PK | 商用 PC or 消费 PC,开发者究竟该如何取舍?
  11. Tricks(二十四)—— python 复合(嵌套)数据结构
  12. 用双网卡实现跨网段访问(转载)
  13. 企业的IT 建设的三个过程
  14. springboot - 应用实践(3)springboot的核心
  15. ENVI软件App Store插件工具的下载、安装与使用方法
  16. 15+在线网页按钮生成器工具
  17. 网络流量监测IP雷达 4.0
  18. linux phpstudy卸载,linux 安装phpstudy
  19. 20行Python代码爬取LOL全英雄皮肤图片
  20. 化学分子溶解度预测模型(python-Rdkit构建)

热门文章

  1. python基础:字符串的join()函数使用
  2. 世嘉MD游戏开发进阶篇【三】:向量归一化的实现及应用
  3. fastboot 源码分析1
  4. 向大院大所要智慧——江苏创新转型扫描
  5. 了解marquee标签
  6. 微信小程序倒计时方法封装
  7. 易维帮助台APP新升级,管理、派单、服务更高效
  8. java 查询 内存耗尽_错误:内存耗尽(达到限制?)
  9. TwinCAT3 PLC多轴编程的方法
  10. Web Components-LitElement 实践