Android进阶笔记13:Android 系统上一款开源的图表库

1. MPAndroidChart 

MPAndroidChart 是 Android 系统上一款开源的图表库。目前提供线图饼图,支持选择缩放拖放

一个可以拖动缩放的图表库,包含曲线图直方图饼状图,其中直方图支持3d效果。

该库的可扩展性强,代码相对规范,最近一次更新有很大改进,如果不喜欢AChartEngine的过于复杂可以考虑在此库的基础上开发自己的图表类。

 

2. MPAndroidChart 核心特性

  • 轴缩放(触摸手势,轴分开或两指缩放)

  • 拖动(触摸手势)

  • 手指画(画值为图的触摸手势)

  • 值的高亮显示(与可定制的弹出视图)

  • 图表保存到SD卡(如图像,或作为。txt文件)

  • 读取txt文件图表数据。

  • 预定义的颜色模板

  • 图例(自动生成的,可定制的)

  • 标签(X和Y轴,可定制的)

  • 动画(建立动画,在X和Y轴)

  • 限制线(提供额外的信息,最大值,……)

  • 完全可定制的(绘画颜料,字体,颜色,背景,图例,手势,虚线。

 

 

 

 

Android进阶笔记13:Android 系统上一款开源的图表库_第1张图片

 

 

Android进阶笔记13:Android 系统上一款开源的图表库_第2张图片

 

 

Android进阶笔记13:Android 系统上一款开源的图表库_第3张图片

 

 

 

 

Android进阶笔记13:Android 系统上一款开源的图表库_第4张图片

 

 

 

 

Android进阶笔记13:Android 系统上一款开源的图表库_第5张图片

 

 

Android进阶笔记13:Android 系统上一款开源的图表库_第6张图片

 

 

 

 

3. MPAndroidChart 使用例子:

以piechart(饼状图)为例介绍使用方法:

 (1)在xml布局文件之中:

1 <com.github.mikephil.charting.charts.PieChart 2   android:id="@+id/spread_pie_chart"
3  android:layout_width="match_parent"
4  android:layout_height="320dip" />

(2)Activity中的初始化:

 1 ColorTemplate mCt;  2  mCt = new ColorTemplate();  3  mCt.addDataSetColors(ColorTemplate.PASTEL_COLORS, this);  4  mChart = (PieChart) headView.findViewById(R.id.spread_pie_chart);  5  mChart.setColorTemplate(mCt);  6  mChart.setDescription("");  7  mChart.setHoleRadius(30f);  8  mChart.setTransparentCircleRadius(0f);  9  mChart.setCenterTextSize(18f); 10  mChart.setDrawXValues(true); 11  mChart.setUsePercentValues(true); 12  mChart.setDrawLegend(false); 13  // space between slices
14  mChart.setSliceSpace(1f); 15  mChart.setDrawHoleEnabled(false); 16  mChart.setTouchEnabled(false);

 

(3)数据填充

 1 ArrayList<Entry> yVals = new ArrayList<Entry>();  2 ArrayList<String> xVals = new ArrayList<String>();  3 for (int i = 0; i < listDatas.size(); i++) {  4     yVals.add(new Entry((float)listDatas.get(i).getProvinceCount(), i));  5  xVals.add(listDatas.get(i).getProvinceName());  6 }  7 DataSet set1 = new DataSet(yVals, "Content");  8 ArrayList<DataSet> dataSets = new ArrayList<DataSet>();  9 dataSets.add(set1); 10 ChartData data = new ChartData(xVals, dataSets); 11 mChart.setData(data);

其中listData为自己项目中的数据源

 

4.  MPAndroidChart开源库地址:

https://github.com/PhilJay/MPAndroidChart

 

你可能感兴趣的:(Android进阶笔记13:Android 系统上一款开源的图表库)