binbinyang--3.MPAndroidChart开源图表库---饼状图
2016-12-16 14:49
330 查看
首先.给大家看看.我在项目中实现后的动态图
然后直奔主题吧
MPAndroidChart是一款基于Android的开源图表库,MPAndroidChart不仅可以在Android设备上绘制各种统计图表,而且可以对图表进行拖动和缩放操作,应用起来非常灵活。MPAndroidChart同样拥有常用的图表类型:线型图、饼图、柱状图和散点图。
GitHub地址:
https://github.com/PhilJay/MPAndroidChart
下面主要实现以下饼状图:
1.有2种方法可以导库包1.1 第一种是
compile 'com.github.PhilJay:MPAndroidChart:v2.2.5'
1.2 第二种是 直接导入JAR包
2.定义XML
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <com.github.mikephil.charting.charts.PieChart android:id="@+id/mPieChart" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#ffffff"/> </RelativeLayout>
3.把DEMO效果图贴出来
贴代码
MainActivity 代码
public class MainActivity extends Activity { private PieChartUtils chartUtil; private PieChart mChart; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mChart = (PieChart) findViewById(R.id.mPieChart); chartUtil = new PieChartUtils(this); PieData mPieData =chartUtil.getPieData(3, 100); chartUtil.showChart(mChart, mPieData); } }
我抽取出来的 PieChartUtils
public class PieChartUtils { private Context mContext; private AssetManager assets; private Typeface tf; private Resources rs; public PieChartUtils(Context context) { this.mContext = context; assets = mContext.getAssets(); rs = mContext.getResources(); } void showChart(PieChart pieChart, PieData pieData) { pieChart.setHoleColorTransparent(true); pieChart.setHoleRadius(60f); //半径 pieChart.setTransparentCircleRadius(64f); // 半透明圈 // pieChart.setHoleRadius(0); //实心圆 pieChart.setDescription("测试饼状图"); pieChart.setDrawHoleEnabled(true); // mChart.setDrawYValues(true);//设置是否显示y轴的值的数据 pieChart.setDrawCenterText(true); //饼状图中间可以添加文字 pieChart.setDrawHoleEnabled(true); pieChart.setRotationAngle(90); // 初始旋转角度 // mChart.setDrawXValues(true); pieChart.setRotationEnabled(true); // 可以手动旋转 pieChart.animateY(1000, Easing.EasingOption.EaseInOutQuad); //设置动画 pieChart.setUsePercentValues(true); //显示成百分比 pieChart.setCenterText("杨彬 "); //饼状图中间的文字 //设置数据 pieChart.setData(pieData); Legend mLegend = pieChart.getLegend(); //设置比例图 mLegend.setPosition(Legend.LegendPosition.RIGHT_OF_CHART); //最右边显示 // mLegend.setForm(LegendForm.LINE); //设置比例图的形状,默认是方形 mLegend.setXEntrySpace(7f); mLegend.setYEntrySpace(5f); pieChart.animateXY(1000, 1000); //设置动画 } /** * @param count 分成几部分 * @param range 百分比 */ PieData getPieData(int count, float range) { ArrayList<String> xValues = new ArrayList<String>(); // xVals用来表示每个饼块上的内容 ArrayList<Entry> yValues = new ArrayList<Entry>(); // yVals用来表示封装每个饼块的实际数据 List<Integer> colors = new ArrayList<Integer>();// 每一块饼上的颜色 xValues.add(0, "第一块"); xValues.add(1, "第二块"); xValues.add(2, "第三块"); yValues.add(new Entry(5, 0)); yValues.add(new Entry(10, 1)); yValues.add(new Entry(15, 2)); colors.add(Color.rgb(205, 205, 205)); colors.add(Color.rgb(114, 188, 223)); colors.add(Color.rgb(255, 123, 124)); // colors.add(0xffff00ff); // colors.add(0xff0000ff); // colors.add(0xffffff00); // y轴的集合 PieDataSet pieDataSet = new PieDataSet(yValues, " ");// 显示在比例图上 pieDataSet.setSliceSpace(0f); // 设置个饼状图之间的距离 pieDataSet.setSelectionShift(5f); pieDataSet.setColors(colors); DisplayMetrics metrics = rs.getDisplayMetrics(); float px = 2 * (metrics.densityDpi / 180f); pieDataSet.setSelectionShift(px); // 选中态多出的长度 PieData pieData = new PieData(xValues, pieDataSet); return pieData; } }
如果要去掉百分比的比例图
pieChart.setUsePercentValues(true); //显示成百分比
这是DEMO代码下载的地方:http://download.csdn.net/detail/yangbin0513/9713311
相关文章推荐
- binbinyang--4.MPAndroidChart开源图表库---折线图
- binbinyang--1.MPAndroidChart开源图表库的介绍
- binbinyang--5.MPAndroidChart开源图表库---柱状图
- MPAndroidChart开源图表库的使用介绍之饼状图、折线图和柱状图
- MPAndroidChart开源图表库(一)之饼状图
- 统计图表--第三方开源--MPAndroidChart(一)
- [置顶] 菜鸡学习之路之------MPAndroidChart 一个开源图表库
- android开源图表库MPAndroidChart文档翻译(上)
- MPAndroidChart开源图表库(三)之柱形图
- Android开源图表库MPAndroidChart
- MPAndroidChart开源图表库(一)之饼状图
- android开源图表库MPAndroidChart文档翻译(下)
- MPAndroidChart开源图表库之饼状图
- MPAndroidChart开源图表库---折线图
- MPAndroidChart开源图表库
- Android开源图表---MPAndroidChart
- MPAndroidChart开源图表《总》之折线图、统计图、扇形图
- android开源图表库MPAndroidChart
- Android开源图表库 MPAndroidChart
- MPAndroidChart是一款基于Android的开源图表库