1. Android 系统上一款开源的图表库

时间:2021-06-23 04:30:28

1. MPAndroidChart 

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

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

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

2. MPAndroidChart 核心特性

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

  • 拖动(触摸手势)

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

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

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

  • 读取txt文件图表数据。

  • 预定义的颜色模板

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

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

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

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

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

1. Android 系统上一款开源的图表库

1. Android 系统上一款开源的图表库

1. Android 系统上一款开源的图表库

1. Android 系统上一款开源的图表库

1. Android 系统上一款开源的图表库

1. Android 系统上一款开源的图表库

1. Android 系统上一款开源的图表库

1. Android 系统上一款开源的图表库

1. Android 系统上一款开源的图表库

1. Android 系统上一款开源的图表库

3. MPAndroidChart 使用例子:

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

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

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

(2)Activity中的初始化:

 ColorTemplate mCt;
mCt = new ColorTemplate();
mCt.addDataSetColors(ColorTemplate.PASTEL_COLORS, this);
mChart = (PieChart) headView.findViewById(R.id.spread_pie_chart);
mChart.setColorTemplate(mCt);
mChart.setDescription("");
mChart.setHoleRadius(30f);
mChart.setTransparentCircleRadius(0f);
mChart.setCenterTextSize(18f);
mChart.setDrawXValues(true);
mChart.setUsePercentValues(true);
mChart.setDrawLegend(false);
// space between slices
mChart.setSliceSpace(1f);
mChart.setDrawHoleEnabled(false);
mChart.setTouchEnabled(false);

(3)数据填充

 ArrayList<Entry> yVals = new ArrayList<Entry>();
ArrayList<String> xVals = new ArrayList<String>();
for (int i = 0; i < listDatas.size(); i++) {
yVals.add(new Entry((float)listDatas.get(i).getProvinceCount(), i));
xVals.add(listDatas.get(i).getProvinceName());
}
DataSet set1 = new DataSet(yVals, "Content");
ArrayList<DataSet> dataSets = new ArrayList<DataSet>();
dataSets.add(set1);
ChartData data = new ChartData(xVals, dataSets);
mChart.setData(data);

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

4.  MPAndroidChart开源库地址:

https://github.com/PhilJay/MPAndroidChart