1.添加依赖

在Project即工程下的build.gradle文件里添加 maven { url "https://jitpack.io" }

添加下来是这个样子的:

allprojects {

repositories {

jcenter()

maven { url "https://jitpack.io" }

google() }

}

然后在项目下的build.gradle文件里添加 compile 'com.github.PhilJay:MPAndroidChart:v3.0.1'

2.在布局中添加

<com.github.mikephil.charting.charts.PieChart

android:id="@+id/piechart"

android:layout_width="match_parent"

android:layout_height="match_parent" />

3.activity中添加

//设置各区块的颜色public static final int[] PIE_COLORS = {Color.rgb(181, 194, 202), Color.rgb(129, 216, 200), Color.rgb(241, 214, 145),Color.rgb(108, 176, 223), Color.rgb(195, 221, 155), Color.rgb(251, 215, 191),Color.rgb(237, 189, 189), Color.rgb(172, 217, 243)};//设置饼形图属性public void setPieChart(PieChart pieChart, Map<String, Float> pieValues, String title, boolean showLegend) {pieChart.setUsePercentValues(true);//设置使用百分比(后续有详细介绍)pieChart.getDescription().setEnabled(true);//设置描述pieChart.setExtraOffsets(25, 10, 25, 25); //设置边距pieChart.setDragDecelerationFrictionCoef(0.95f);//设置摩擦系数(值越小摩擦系数越大)pieChart.setCenterText(title);//设置环中的文字pieChart.setRotationEnabled(true);//是否可以旋转pieChart.setHighlightPerTapEnabled(true);//点击是否放大pieChart.setCenterTextSize(22f);//设置环中文字的大小pieChart.setDrawCenterText(true);//设置绘制环中文字pieChart.setRotationAngle(120f);//设置旋转角度pieChart.setTransparentCircleRadius(61f);//设置半透明圆环的半径,看着就有一种立体的感觉//这个方法为true就是环形图,为false就是饼图pieChart.setDrawHoleEnabled(true);//设置环形中间空白颜色是白色pieChart.setHoleColor(Color.WHITE);//设置半透明圆环的颜色pieChart.setTransparentCircleColor(Color.WHITE);//设置半透明圆环的透明度pieChart.setTransparentCircleAlpha(110);//图例设置Legend legend = pieChart.getLegend();if (showLegend) {legend.setEnabled(true);//是否显示图例legend.setHorizontalAlignment(Legend.LegendHorizontalAlignment.CENTER);//图例相对于图表横向的位置legend.setVerticalAlignment(Legend.LegendVerticalAlignment.TOP);//图例相对于图表纵向的位置legend.setOrientation(Legend.LegendOrientation.HORIZONTAL);//图例显示的方向legend.setDrawInside(false);legend.setDirection(Legend.LegendDirection.LEFT_TO_RIGHT);} else {legend.setEnabled(false);}//设置饼图数据setPieChartData(pieChart, pieValues);pieChart.animateX(1500, Easing.EasingOption.EaseInOutQuad);//数据显示动画}//设置饼图数据private void setPieChartData(PieChart pieChart, Map<String, Float> pieValues) {ArrayList<PieEntry> entries = new ArrayList<PieEntry>();Set set = pieValues.entrySet();Iterator it = set.iterator();while (it.hasNext()) {Map.Entry entry = (Map.Entry) it.next();entries.add(new PieEntry(Float.valueOf(entry.getValue().toString()), entry.getKey().toString()));}PieDataSet dataSet = new PieDataSet(entries, "");dataSet.setSliceSpace(3f);//设置饼块之间的间隔dataSet.setSelectionShift(5f);//设置饼块选中时偏离饼图中心的距离dataSet.setColors(PIE_COLORS);//设置饼块的颜色//设置数据显示方式有见图dataSet.setValueLinePart1OffsetPercentage(80f);//数据连接线距图形片内部边界的距离,为百分数dataSet.setValueLinePart1Length(0.3f);dataSet.setValueLinePart2Length(0.4f);dataSet.setValueLineColor(Color.YELLOW);//设置连接线的颜色dataSet.setYValuePosition(PieDataSet.ValuePosition.OUTSIDE_SLICE);PieData pieData = new PieData(dataSet);pieData.setValueFormatter(new PercentFormatter());pieData.setValueTextSize(11f);pieData.setValueTextColor(Color.DKGRAY);pieChart.setData(pieData);pieChart.highlightValues(null);pieChart.invalidate();}

4.oncreate中模拟数据

//模拟数据
HashMap dataMap = new HashMap();
dataMap.put("A","300");
dataMap.put("B","600");
dataMap.put("C","500");
dataMap.put("D","800");
dataMap.put("1","300");
dataMap.put("2","600");
dataMap.put("3","500");
setPieChart(pieChart,dataMap,"数据",false);

5.运行项目即可。

Android图表库--MPChart(Piechart)相关推荐

  1. 最牛逼android上的图表库MpChart(一) 介绍篇

    最牛逼android上的图表库MpChart一 介绍篇 MpChart优点 MpChart是什么 MpChart支持哪些图表 MpChart效果如何 最牛逼android上的图表库MpChart(一) ...

  2. Android图表库MPAndroidChart(二)——线形图的方方面面,看完你会回来感谢我的

    Android图表库MPAndroidChart(二)--线形图的方方面面,看完你会回来感谢我的 在学习本课程之前我建议先把我之前的博客看完,这样对整体的流程有一个大致的了解 Android图表库MP ...

  3. Android图表库MPAndroidChart(四)——条形图的绘制过程过程,隐隐约约我看到了套路...

    Android图表库MPAndroidChart(四)--条形图的绘制过程过程,隐隐约约我看到了套路 在学习本课程之前我建议先把我之前的博客看完,这样对整体的流程有一个大致的了解 Android图表库 ...

  4. Android图表库MPAndroidChart(四)——条形图的绘制过程过程,隐隐约约我看到了套路

    Android图表库MPAndroidChart(四)--条形图的绘制过程过程,隐隐约约我看到了套路 在学习本课程之前我建议先把我之前的博客看完,这样对整体的流程有一个大致的了解 Android图表库 ...

  5. Android图表库MPAndroidChart(九)——神神秘秘的散点图

    Android图表库MPAndroidChart(九)--神神秘秘的散点图 今天所的散点图可能用的人不多,但是也算是图表界的一股清流,我们来看下实际的效果 添加的数据有点少,但是足以表示散点图了,我们 ...

  6. Android图表库hellocharts详解

    感谢大佬:https://www.cnblogs.com/huolongluo/p/5988644.html 因为项目需要搞一个折线图,按照日期显示相应的成绩,所以有了本文.  以前用过一次XCL-c ...

  7. GitHub 上排名前 100 的 Android 开源库介绍

    转自:http://www.codeceo.com/article/github-top-100-android-libs.html 本项目主要对目前 GitHub 上排名前 100 的 Androi ...

  8. 排名前100的Android开源库

    本项目主要对目前GitHub上排名前100的Android开源库进行简单的介绍,至于排名完全是根据GitHub搜索Java语言选择「BestMatch」得到的结果,然后过滤了跟Android不相关的项 ...

  9. Android 第三方库前100

    本文转自:https://github.com/Freelander/Android_Data/blob/master/Android-Librarys-Top-100.md 本项目主要对目前 Git ...

最新文章

  1. linux下装windows驱动,linux下安装windows xp无线网卡驱动
  2. spring IOC和DI
  3. 点击展开 表格_CAD怎么将excel表格的数据导入并且实时更新?
  4. 解决Git中fatal: refusing to merge unrelated histories
  5. JAVA设计模式之工厂模式(简单工厂模式+工厂方法模式)
  6. Python 数据科学手册 5.5 朴素贝叶斯分类
  7. python期末复习卷_【期末复习卷A】六年级科学上册期末复习试题
  8. 为什么无法建立过程性能模型?
  9. [转]正确设置nginx/php-fpm/apache权限
  10. Grammarly SCI语法检查总结
  11. 办公软件 excle word 技巧 教程 电子书 免费 下载
  12. 计算机毕业论文选题影视方向,毕业设计选题方向
  13. Appium-python-Android
  14. imx6q 添加intel PCIE网卡
  15. godaddy新建二级域名
  16. #数据库--第1章 Windows 下的数据库导入 TPCH 数据(以 SQL Server 作为示例,MySQL同样适用)
  17. 基于AltiumDesigner的PCB及原理图项目设计经验分享 [硬件开发设计]
  18. 艾美捷焦磷酸(PPi)分析试剂盒,高通量筛选神器
  19. 罗技 连点 脚本_首拆?罗技G PRO X机械键盘,拆解测评
  20. 微信小程序的开发(一)

热门文章

  1. QQ测试用例---看点模块
  2. 日航与新干线(写于2011年)
  3. 世界开源界加强版权保护意识
  4. Nginx 0day LDAP RCE 漏洞情报分析
  5. 看图说话|与冬虫夏草相对比,了解发酵冬虫夏草菌粉
  6. 如何用计算机装手机系统,怎么用手机给电脑装系统?原来方法如此简单!
  7. 什么是接口之接口的几种方法。
  8. ThinkPHP框架之快速入门
  9. LaTex做PPT、图片放置、公式输入等经验贴
  10. 2021-技能大赛-信息安全管理与评估-DCN 设备总结 (中)-任务二-设备安全配置篇(2)