android開發之aChartEngine圖表顯示

來源:互聯網
上載者:User
 代碼如下 複製代碼
  對於資料的可視化,之前,是想直接用Canvas 來畫,不過,評估了一下,工作量挺大的,因為,是一個人開發,而且是從零開始,如果寫一個Canvas 畫報表的方法,太費時間了,於是,上網找了一下,果然被我找到了…
AchartEngine
http://code.google.com/achartengine
繪製的基礎
 代碼如下 複製代碼
  很多,使用這個引擎的同學,大多,會被它提供的例子的給嚇到,因為,太多參數了!到最後,都不知道看到那裡去了,其實,仔細研究,這個引擎的使用是非常簡單…()
首先,我們整理一下思路,一般繪製一個圖表需要:如下圖所示
 
從圖中,我們可以看出,繪製一個圖表我們其實,我們只需要理解三個概念
1,ChartFactory ,傳入XYMutilpleSeriesRenderer,XYMutilpleSeriesDataset,然後,我們只需用getXXXChartIntent(Context context,XYMutilpleSeriesRenderer,XYMutilpleSeriesDataset,)方法就可以進行圖表的顯示
2,XYMutilpleSeriesRenderer 用於進行繪製的設定,添加的XYSeriesRender對象,用於定義繪製的點集合設定,注意數量要和XYMutilpleSeriesDataset,添加的XYseries一致!!!
3,XYMutilpleSeriesDataset 用於資料的存放,添加的XYseries對象,用於提供繪製的點集合的資料
以下為一個小例子:
public class ShowExamActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);// 1, 構造顯示用渲染圖XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer();// 2,進行顯示XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();// 2.1, 構建資料Random r = new Random();for (int i = 0; i < 2; i++) {XYSeries series = new XYSeries("test" + (i + 1));// 填充資料for (int k = 0; k < 10; k++) {// 填x,y值series.add(k, 20 + r.nextInt() % 100);}// 需要繪製的點放進dataset中dataset.addSeries(series);}// 3, 對點的繪製進行設定XYSeriesRenderer xyRenderer = new XYSeriesRenderer();// 3.1設定顏色xyRenderer.setColor(Color.BLUE);// 3.2設定點的樣式xyRenderer.setPointStyle(PointStyle.SQUARE);// 3.3, 將要繪製的點添加到座標繪製中renderer.addSeriesRenderer(xyRenderer);// 3.4,重複 1~3的步驟繪製第二個系列點xyRenderer = new XYSeriesRenderer();xyRenderer.setColor(Color.RED);xyRenderer.setPointStyle(PointStyle.CIRCLE);renderer.addSeriesRenderer(xyRenderer);// Intent intent = new LinChart().execute(this);Intent intent = ChartFactory.getLineChartIntent(this, dataset, renderer);startActivity(intent);}}
這裡有一點要注意,我們是用內建的activity進行我們的圖表的顯示:所以,我們要在AndroiManifest裡面添加一句
<activity android:name="org.achartengine.GraphicalActivity" />
效果:
在稍後的一段時間裡面,我會談談如何在xml布局檔案裡面嵌套我們的圖表,有興趣的朋友,可以進行關注

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.