android 优秀图表库之MPAndroidChart

时间:2023-03-09 13:41:51
android 优秀图表库之MPAndroidChart

MPAndroidChart

1.在项目当中很多时候要对数据进行分析就要用到图表,在gitHub上有很多优秀的图表开源库,这里就简单介绍一下MPAndroidChart。

他可以实现图表的拖动,3D,局部查看,数据动态展示等功能

代码下载:下载

2.贴一些效果图出来:

linechart

android 优秀图表库之MPAndroidChart

填充式lineChart

android 优秀图表库之MPAndroidChart

单条线的LineChart

android 优秀图表库之MPAndroidChart

BarChart2D

android 优秀图表库之MPAndroidChart

android 优秀图表库之MPAndroidChart

android 优秀图表库之MPAndroidChart

BarChart3D

android 优秀图表库之MPAndroidChart

PieChart

android 优秀图表库之MPAndroidChart

android 优秀图表库之MPAndroidChart

 

ScatterChart

android 优秀图表库之MPAndroidChart

3.使用方法在giHub上下载这个库:https://github.com/PhilJay/MPAndroidChart

你在查看它给的示例的时候可能项目会出错,我这里是环境编码问题,改成utf-8就OK了

xml中

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

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);

数据:

 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为自己项目中的数据源。