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為自己項目中的數據源。