MPAndroidChartandroid
1.在項目當中不少時候要對數據進行分析就要用到圖表,在gitHub上有不少優秀的圖表開源庫,這裏就簡單介紹一下MPAndroidChart。git
他能夠實現圖表的拖動,3D,局部查看,數據動態展現等功能github
代碼下載:下載this
2.貼一些效果圖出來:編碼
linechartspa
填充式lineChart3d
單條線的LineChartcode
BarChart2Dxml
BarChart3Dblog
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爲本身項目中的數據源。