android 优秀图表库之MPAndroidChart
MPAndroidChart
1.在项目当中很多时候要对数据进行分析就要用到图表,在gitHub上有很多优秀的图表开源库,这里就简单介绍一下MPAndroidChart。
他可以实现图表的拖动,3D,局部查看,数据动态展示等功能
代码下载:下载
2.贴一些效果图出来:
linechart
填充式lineChart
单条线的LineChart
BarChart2D
BarChart3D
PieChart
ScatterChart
3.使用方法在giHub上下载这个库:https://github.com/PhilJay/MPAndroidChart
你在查看它给的示例的时候可能项目会出错,我这里是环境编码问题,改成utf-8就OK了
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" />
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);
数据:
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为自己项目中的数据源。