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


前言

  一個人開發就是蛋疼…堅持吧…

android的數據報表顯示

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

AchartEngine

http://code.google.com/achartengine

繪制的基礎

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

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

achart2

 

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

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

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

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

以下為一個小例子:

public class ShowExamActivity extends Activity {
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.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" />

效果:

device-2012-01-18-000853

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


免責聲明!

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



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