Android MPAndroidChart PieChart
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>
使用
- 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;}
- 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);//值在图表外显示(所占百分比)
- setDescription
private void setDescription(){Description description = pieChart.getDescription();//获得图表的描述description.setText("平台有违章车辆和没违章车辆占比统计");}
- 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相关推荐
- piechart 文档 android,Android MPAndroidChart之PieChart和数据结构以及模型【5】
Android MPAndroidChart之PieChart和数据结构以及模型[5] 以MPAndroidChart的饼状图PieChart为例. 测试的MainActivity的Java代码: p ...
- Android MPAndroidChart之饼图PieChart
APP为了能让用户对数据有更直观,更便捷的认识,我们通常都选择了以图表的方式展示给用户,如折线图.饼图.条形图等-今天和大家分享下MPAndroidChart,一个强大便捷的图标控件. Android ...
- MPAndroidChart—— pieChart 属性详解
MPAndroidChart GitHub 地址:https://github.com/PhilJay/MPAndroidChart pieChart 常用属性详解: [java] view plai ...
- piechart 文档 android,(Android 应用之路) MPAndroidChart~PieChart
简介 AndroidChart">MPAndroidChart是PhilJay大神给Android开发者带来的福利.MPAndroidChart是一个功能强大并且使用灵活的图表开源库, ...
- Android MPAndroidChart使用v3.1.0版本之piechart百分号不显示问题
文章目录 前言 一.解决步骤 1.无显示代码示例 .解决代码示例 总结 前言 在使用MPAndroidChartv3.1.0版本开发饼状图中根据官方demo一步步进行,可是饼状图的百分号就是不显示,只 ...
- android piechart饼图内容,MPAndroidChart PieChart为什么只有在点击了饼图之后才会显示颜色?...
设置数据的代码如下.如果一个数据占了100时,饼图就会不显示颜色.只有点击一下饼图才会显示颜色,请问这是怎么回事儿呢? private void setData(int count, float ra ...
- android 字符串折线图,Android + MPAndroidChart 实现折线、柱形和饼状图
本文讲讲怎么用 MPAndroidChart 框架实现折线图.柱形图.饼图,并且进行样式设置,达到和宣传图差不多的效果. 一开始看到 MPAndroidChart 的各种图表介绍图感觉很好看,但是直接 ...
- piechart 文档 android,Android饼图 PieChart
PieChart 饼图,android 图表.会根据定义PieChartView的大小自动居中,所以如果要调整位置,只需要在xml更改PieChartView位置大小即可. 1.先看一下效果图: 展示 ...
- piechart 文档 android,mpchart piechart:如何在android中显示特定的只有一个文本值
试试这个. piechart = (PieChart) findViewById(R.id.piechart); piechart.setUsePercentValues(true); ArrayLi ...
最新文章
- AI用50个三角形画出抽象版蒙娜丽莎,有股后现代的感觉了 | 谷歌大脑出品
- 数据更改后推送_合格的数据科学家,这些Github知识必须了解
- 未清采购订单关闭最全的方法
- 计算机操作应用实训,计算机操作实训教案计算机操作实训教案.doc
- Lack of free swap space on Zabbix server
- 疫情期间,在家使用java的SSH框架实现一个简单的任务调度系统
- SpringBoot2.X 整合Redis实现简单缓存操作
- openstack 功能_2016年OpenStack的新功能:看一下Newton版本
- 看过无数 Java GC 文章,这 5 个问题你也未必知道!
- 观点 PK | 商用 PC or 消费 PC,开发者究竟该如何取舍?
- Tricks(二十四)—— python 复合(嵌套)数据结构
- 用双网卡实现跨网段访问(转载)
- 企业的IT 建设的三个过程
- springboot - 应用实践(3)springboot的核心
- ENVI软件App Store插件工具的下载、安装与使用方法
- 15+在线网页按钮生成器工具
- 网络流量监测IP雷达 4.0
- linux phpstudy卸载,linux 安装phpstudy
- 20行Python代码爬取LOL全英雄皮肤图片
- 化学分子溶解度预测模型(python-Rdkit构建)