您的位置:首页 > 移动开发 > Android开发

某android平板项目开发笔记----aChartEngine图表显示(1)

2012-07-04 14:59 591 查看

android的数据报表显示

对于数据的可视化,之前,是想直接用Canvas来画,不过,评估了一下,工作量挺大的,因为,是一个人开发,而且是从零开始,如果写一个Canvas画报表的方法,太费时间了,于是,上网找了一下,果然被我找到了…

AchartEngine

http://code.google.com/achartengine

绘制的基础

很多,使用这个引擎的同学,大多,会被它提供的例子的给吓到,因为,太多参数了!到最后,都不知道看到那里去了,其实,仔细研究,这个引擎的使用是非常简单…()

首先,我们整理一下思路,一般绘制一个图表需要:如下图所示



从图中,我们可以看出,绘制一个图表我们其实,我们只需要理解三个概念

1,ChartFactory,传入XYMutilpleSeriesRenderer,XYMutilpleSeriesDataset,然后,我们只需用getXXXChartIntent(Contextcontext,XYMutilpleSeriesRenderer,XYMutilpleSeriesDataset,)方法就可以进行图表的显示

2,XYMutilpleSeriesRenderer用于进行绘制的设置,添加的XYSeriesRender对象,用于定义绘制的点集合设置,注意数量要和XYMutilpleSeriesDataset,添加的XYseries一致!!!

3,XYMutilpleSeriesDataset用于数据的存放,添加的XYseries对象,用于提供绘制的点集合的数据

以下为一个小例子:

01
public
class
ShowExamActivity
extends

Activity{
02
@Override
03
protected

void
onCreate(BundlesavedInstanceState){
04
//TODOAuto-generatedmethodstub
05
super
.onCreate(savedInstanceState);
06
//1,构造显示用渲染图
07
XYMultipleSeriesRendererrenderer=
new
XYMultipleSeriesRenderer();
08
//2,进行显示
09
XYMultipleSeriesDatasetdataset=
new
XYMultipleSeriesDataset();
10
//2.1,构建数据
11
Randomr=
new
Random();

12
for

(
int
i=
0
;i<

2
;i++){
13
XYSeriesseries=
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
XYSeriesRendererxyRenderer=
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
//Intentintent=newLinChart().execute(this);
37
Intentintent=ChartFactory
38
.getLineChartIntent(
this
,dataset,renderer);
39
startActivity(intent);
40
41
}

42
}
这里有一点要注意,我们是用内置的activity进行我们的图表的显示:所以,我们要在AndroiManifest里面添加一句

查看源码

打印?

1
<
activity

android:name
=
"org.achartengine.GraphicalActivity"

/>
效果:



在稍后的一段时间里面,我会谈谈如何在xml布局文件里面嵌套我们的图表,有兴趣的朋友,可以进行关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: