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{ |
03 | protected
void onCreate(BundlesavedInstanceState){ |
04 | //TODOAuto-generatedmethodstub |
05 | super .onCreate(savedInstanceState); |
07 | XYMultipleSeriesRendererrenderer= new XYMultipleSeriesRenderer(); |
09 | XYMultipleSeriesDatasetdataset= new XYMultipleSeriesDataset(); |
13 | XYSeriesseries= new XYSeries( "test"
+(i+ 1 )); |
17 | series.add(k, 20 +r.nextInt()% 100 ); |
20 | dataset.addSeries(series); |
23 | XYSeriesRendererxyRenderer= new XYSeriesRenderer(); |
25 | xyRenderer.setColor(Color.BLUE); |
27 | xyRenderer.setPointStyle(PointStyle.SQUARE); |
29 | renderer.addSeriesRenderer(xyRenderer); |
31 | xyRenderer= new XYSeriesRenderer(); |
32 | xyRenderer.setColor(Color.RED); |
33 | xyRenderer.setPointStyle(PointStyle.CIRCLE); |
34 | renderer.addSeriesRenderer(xyRenderer); |
36 | //Intentintent=newLinChart().execute(this);
|
37 | Intentintent=ChartFactory
|
38 | .getLineChartIntent( this ,dataset,renderer);
|
这里有一点要注意,我们是用内置的activity进行我们的图表的显示:所以,我们要在AndroiManifest里面添加一句
查看源码
打印?
1 | < activity
android:name = "org.achartengine.GraphicalActivity"
/> |
效果:
在稍后的一段时间里面,我会谈谈如何在xml布局文件里面嵌套我们的图表,有兴趣的朋友,可以进行关注