android開源圖表庫MPAndroidChart(曲線圖、直方圖、餅狀圖)
一個可以拖動縮放的圖表庫,包含曲線圖、直方圖、餅狀圖,其中直方圖支持3d效果。
該庫的可擴展性強,代碼相對規范,最近一次更新有很大改進,如果不喜歡AChartEngine的過于復雜可以考慮在此庫的基礎上開發自己的圖表類。
linechart

填充式lineChart

單條線的LineChart

BarChart2D



BarChart3D

PieChart


ScatterChart

以piechart為例介紹使用方法:
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為自己項目中的數據源。
項目地址:https://github.com/PhilJay/MPAndroidChart
注:關于圖表庫現在有了更好的項目hellocharts,見 http://jcodecraeer.com/a/anzhuokaifa/androidkaifa/2014/1107/1930.html
本文由用戶 meisen999 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!