應用achartengine包畫數據統計圖之二————畫PieChart(餅圖)


本文繼續上文(http://www.cnblogs.com/water-drop/archive/2012/11/01/2750379.html)的思路,畫另一種常用圖形——餅圖(PieChart)


畫PieChart與TimeChart的不同之處在於:

1.PieChart使用的數據集CategorySeries,而TimeChart使用的是XYMultipleSeriesDataset;

2.PieChart使用的圖表設置集(render)DefaultRenderer,而TimeChart使用的是XYMultipleSeriesRenderer.

針對以上兩點,有下面兩段代碼

1.PieChart構造數據集代碼

values[]數組中儲存了每部分餅圖的數據,最終每部分占總數的百分比決定了餅圖的最終形狀。

1 protected CategorySeries buildCategoryDataset(String title, double[] values) {
2             CategorySeries series = new CategorySeries(title);
3             series.add("差", values[0]);
4             series.add("不達標", values[1]);
5             series.add("達標", values[2]);
6             return series;
7           }

2.PieChart的圖表設置代碼

 1 protected DefaultRenderer buildCategoryRenderer(int[] colors) {
 2             DefaultRenderer renderer = new DefaultRenderer();
 3             renderer.setLabelsTextSize(15);
 4             renderer.setLegendTextSize(15);
 5             renderer.setMargins(new int[] { 20, 30, 15, 0 });
 6             for (int color : colors) {
 7               SimpleSeriesRenderer r = new SimpleSeriesRenderer();
 8               r.setColor(color);
 9               renderer.addSeriesRenderer(r);
10             }
11             return renderer;
12           }

3.畫餅圖代碼

private GraphicalView mPieChartView;
private LinearLayout layoutpie;
private double[] pievalues;
private DefaultRenderer pierender;

mPieChartView=ChartFactory.getPieChartView(this, buildCategoryDataset("xueyactrl", pievalues), pierender);
layoutpie.removeAllViews();
layoutpie.setBackgroundColor(Color.BLACK);
        layoutpie.addView(mPieChartView, new LayoutParams(LayoutParams.FILL_PARENT,
            LayoutParams.FILL_PARENT));
        

下面是截圖

以上完成了圖形的基本功能,還有很多圖形設置可以探索~

最后,在學習使用achartengine包畫數據統計圖過程中,官網上提供的demo和javadoc幫助非常大!!

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM