aChartEngine圖表顯示(餅圖、柱狀圖、折線圖)


由於項目需要,要用到圖表顯示,所以就上網查找了些資料,就找到了下面一張圖,以及幾個概念:

2.png

 

從圖中可以看出,繪制一個圖表,需要理解三個概念

1、ChartFactory

傳入Renderer,Dataset的參數,然后用getXXXChartIntent(Context context,XYMutilpleSeriesRenderer,XYMutilpleSeriesDataset)方法進行圖表的顯示

2、XYMutilpleSeriesRenderer

用於進行繪制的設置,添加的Renderer對象,用於定義繪制的點集合設置,注意數量要和Dataset添加的XYseries一致!!!

3、XYMutilpleSeriesDataset

用於數據的存放,添加的XYseries對象,用於提供繪制的點集合的數據

下面是我學習之后的總結:

說白了,就三個東西,一個Intent,一個Renderer和一個Dataset。

Intent       就是要啟動一個GraphicalActivity來顯示圖表用的,這個GraphicalActivity需要在manifest注冊!

                  一般由 ChartFactory.get***ChartIntent獲得,如下:

ChartFactory.getBarChartIntent(context, getBarDataset(),renderer, Type.DEFAULT);

Renderer 就是渲染器,設置圖表顯示的一些特征,比如圖表的大小,標題,坐標軸的顏色,背景顏色等

DefaultRenderer renderer = new DefaultRenderer();
       renderer.setBackgroundColor(Color.GRAY);// 背景顏色
       renderer.setLabelsTextSize(25);// 標簽文字大小
        renderer.setChartTitle("手機系統");// 圖表名稱
        renderer.setChartTitleTextSize(30);// 圖表名稱大小
        renderer.setLegendTextSize(30);// 圖標字體大小
        renderer.setLegendHeight(100);// 圖標文字距離底邊的高度
        renderer.setPanEnabled(false);//圖表是否可以移動
        renderer.setZoomEnabled(true);//圖表是否可以縮放

Dataset    就是數據集,就是你自己要制作表的數據集

XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();
   double[] data1 = { 19, 23, 23, 42, 25, 25, 17, 28, 39 };
   double[] data2 = { 39, 43, 13, 12, 15, 35, 37, 18, 19 };

   for (int i = 0; i < 2; i++) {
       CategorySeries series = new CategorySeries("測試數據" + (i + 1));
       if (i == 0) {
           for (int j = 0; j < data1.length; j++) {
               series.add(data1[j]);
           }
       } else {
           for (int j = 0; j < data2.length; j++) {
               series.add(data2[j]);
           }
       }

       dataset.addSeries(series.toXYSeries());
   }

源碼附上:點擊下載ShowChart.zip


免責聲明!

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



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