某android平板項目開發筆記----aChartEngine圖表顯示(1)

android的數據報表顯示

  對於數據的可視化,之前,是想直接用Canvas 來畫,不過,評估了一下,工作量挺大的,因爲,是一個人開發,而且是從零開始,如果寫一個Canvas 畫報表的方法,太費時間了,於是,上網找了一下,果然被我找到了…

AchartEngine

http://code.google.com/achartengine

繪製的基礎

  很多,使用這個引擎的同學,大多,會被它提供的例子的給嚇到,因爲,太多參數了!到最後,都不知道看到那裏去了,其實,仔細研究,這個引擎的使用是非常簡單…()

首先,我們整理一下思路,一般繪製一個圖表需要:如下圖所示

某android平板項目開發筆記----aChartEngine圖表顯示(1)

 

從圖中,我們可以看出,繪製一個圖表我們其實,我們只需要理解三個概念

1,ChartFactory ,傳入XYMutilpleSeriesRenderer,XYMutilpleSeriesDataset,然後,我們只需用getXXXChartIntent(Context context,XYMutilpleSeriesRenderer,XYMutilpleSeriesDataset,)方法就可以進行圖表的顯示

2,XYMutilpleSeriesRenderer 用於進行繪製的設置,添加的XYSeriesRender對象,用於定義繪製的點集合設置,注意數量要和XYMutilpleSeriesDataset,添加的XYseries一致!!!

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

以下爲一個小例子:

 
01 public class ShowExamActivity extends Activity {
02     @Override
03     protected void onCreate(Bundle savedInstanceState) {
04         // TODO Auto-generated method stub
05         super.onCreate(savedInstanceState);
06         // 1, 構造顯示用渲染圖
07         XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer();
08         // 2,進行顯示
09         XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();
10         // 2.1, 構建數據
11         Random r = new Random();
12         for (int i = 0; i < 2; i++) {
13             XYSeries series = new XYSeries("test" + (i + 1));
14             // 填充數據
15             for (int k = 0; k < 10; k++) {
16                 // 填x,y值
17                 series.add(k, 20 + r.nextInt() % 100);
18             }
19             // 需要繪製的點放進dataset中
20             dataset.addSeries(series);
21         }
22         // 3, 對點的繪製進行設置
23         XYSeriesRenderer xyRenderer = new XYSeriesRenderer();
24         // 3.1設置顏色
25         xyRenderer.setColor(Color.BLUE);
26         // 3.2設置點的樣式
27         xyRenderer.setPointStyle(PointStyle.SQUARE);
28         // 3.3, 將要繪製的點添加到座標繪製中
29         renderer.addSeriesRenderer(xyRenderer);
30         // 3.4,重複 1~3的步驟繪製第二個系列點
31         xyRenderer = new XYSeriesRenderer();
32         xyRenderer.setColor(Color.RED);
33         xyRenderer.setPointStyle(PointStyle.CIRCLE);
34         renderer.addSeriesRenderer(xyRenderer);
35   
36         // Intent intent = new LinChart().execute(this);
37         Intent intent = ChartFactory
38                 .getLineChartIntent(this, dataset, renderer);
39         startActivity(intent);
40   
41     }
42 }

這裏有一點要注意,我們是用內置的activity進行我們的圖表的顯示:所以,我們要在AndroiManifest裏面添加一句

1 <activity android:name="org.achartengine.GraphicalActivity" />

效果:

某android平板項目開發筆記----aChartEngine圖表顯示(1)

在稍後的一段時間裏面,我會談談如何在xml佈局文件裏面嵌套我們的圖表,有興趣的朋友,可以進行關注

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章