Android图表库--MPChart(Piechart)
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)相关推荐
- 最牛逼android上的图表库MpChart(一) 介绍篇
最牛逼android上的图表库MpChart一 介绍篇 MpChart优点 MpChart是什么 MpChart支持哪些图表 MpChart效果如何 最牛逼android上的图表库MpChart(一) ...
- Android图表库MPAndroidChart(二)——线形图的方方面面,看完你会回来感谢我的
Android图表库MPAndroidChart(二)--线形图的方方面面,看完你会回来感谢我的 在学习本课程之前我建议先把我之前的博客看完,这样对整体的流程有一个大致的了解 Android图表库MP ...
- Android图表库MPAndroidChart(四)——条形图的绘制过程过程,隐隐约约我看到了套路...
Android图表库MPAndroidChart(四)--条形图的绘制过程过程,隐隐约约我看到了套路 在学习本课程之前我建议先把我之前的博客看完,这样对整体的流程有一个大致的了解 Android图表库 ...
- Android图表库MPAndroidChart(四)——条形图的绘制过程过程,隐隐约约我看到了套路
Android图表库MPAndroidChart(四)--条形图的绘制过程过程,隐隐约约我看到了套路 在学习本课程之前我建议先把我之前的博客看完,这样对整体的流程有一个大致的了解 Android图表库 ...
- Android图表库MPAndroidChart(九)——神神秘秘的散点图
Android图表库MPAndroidChart(九)--神神秘秘的散点图 今天所的散点图可能用的人不多,但是也算是图表界的一股清流,我们来看下实际的效果 添加的数据有点少,但是足以表示散点图了,我们 ...
- Android图表库hellocharts详解
感谢大佬:https://www.cnblogs.com/huolongluo/p/5988644.html 因为项目需要搞一个折线图,按照日期显示相应的成绩,所以有了本文. 以前用过一次XCL-c ...
- GitHub 上排名前 100 的 Android 开源库介绍
转自:http://www.codeceo.com/article/github-top-100-android-libs.html 本项目主要对目前 GitHub 上排名前 100 的 Androi ...
- 排名前100的Android开源库
本项目主要对目前GitHub上排名前100的Android开源库进行简单的介绍,至于排名完全是根据GitHub搜索Java语言选择「BestMatch」得到的结果,然后过滤了跟Android不相关的项 ...
- Android 第三方库前100
本文转自:https://github.com/Freelander/Android_Data/blob/master/Android-Librarys-Top-100.md 本项目主要对目前 Git ...
最新文章
- linux下装windows驱动,linux下安装windows xp无线网卡驱动
- spring IOC和DI
- 点击展开 表格_CAD怎么将excel表格的数据导入并且实时更新?
- 解决Git中fatal: refusing to merge unrelated histories
- JAVA设计模式之工厂模式(简单工厂模式+工厂方法模式)
- Python 数据科学手册 5.5 朴素贝叶斯分类
- python期末复习卷_【期末复习卷A】六年级科学上册期末复习试题
- 为什么无法建立过程性能模型?
- [转]正确设置nginx/php-fpm/apache权限
- Grammarly SCI语法检查总结
- 办公软件 excle word 技巧 教程 电子书 免费 下载
- 计算机毕业论文选题影视方向,毕业设计选题方向
- Appium-python-Android
- imx6q 添加intel PCIE网卡
- godaddy新建二级域名
- #数据库--第1章 Windows 下的数据库导入 TPCH 数据(以 SQL Server 作为示例,MySQL同样适用)
- 基于AltiumDesigner的PCB及原理图项目设计经验分享 [硬件开发设计]
- 艾美捷焦磷酸(PPi)分析试剂盒,高通量筛选神器
- 罗技 连点 脚本_首拆?罗技G PRO X机械键盘,拆解测评
- 微信小程序的开发(一)