Achartengine 是google的一个开源图标库。支持多种图标,如折线图、气泡图、饼状图等等。 (http://code.google.com/p/achartengine/)
它的用法也很简单,今天在网上看了一个人的小结(http://www.cnblogs.com/hanyonglu/archive/2012/02/20/2360334.html),于是自己也学着试了一下。
简单的说,调用 ChartFactory 的get***()函数就能得到一个图表,以饼状图为例,ChartFactory.getPieChartIntent(android.content.Context context,CategorySeries dataset, DefaultRenderer renderer, java.lang.String activityTitle)
可以返回一个图表的Intent, 至于图表的内容是什么,就需要在dataset 和renderer中布置。
dataset 里面是你的基本统计数据,例如每种元素的名称(string)和数量(double)。 Achartengine 根据每种成分的数量统计其所占百分比。
renderer 指明了图的样式, 例如每个元素的颜色,标题的大小,背景颜色等等。
具体怎么设置,可以从官方的API里面查找。
然后要记得修改AndroidManifest.xml:
加入一个<activity>:
< activity android:name = "org.achartengine.GraphicalActivity" />
附上源码一份:
AChartExample.java
1 package test.chart.Achartengine;
2
3 import org.achartengine.ChartFactory;
4 import org.achartengine.model.CategorySeries;
5 import org.achartengine.renderer.DefaultRenderer;
6 import org.achartengine.renderer.SimpleSeriesRenderer;
7
8 import android.content.Context;
9 import android.content.Intent;
10 import android.graphics.Color;
11
12 public class AChartExample {
13
14 private double[] value = {22,22,22};
15
16 public AChartExample(){
17 value[0]= 1;
18 value[1]=2;
19 value[2] = 3;
20 }
21
22 public AChartExample(double values[]){
23 for (int i=0;i<values.length;i++){
24 value[i] = values[i];
25 }
26 }
27
28 public Intent execute(Context context) {
29 int[] colors = new int[] { Color.RED, Color.YELLOW, Color.BLUE };
30 DefaultRenderer renderer = buildCategoryRenderer(colors);
31 CategorySeries categorySeries = new CategorySeries("Vehicles Chart");
32 categorySeries.add("cars ", value[0]);
33 categorySeries.add("trucks", value[1]);
34 categorySeries.add("bikes ", value[2]);
35 return ChartFactory.getPieChartIntent(context, categorySeries, renderer,"jialia");
36 }
37
38 protected DefaultRenderer buildCategoryRenderer(int[] colors) {
39 DefaultRenderer renderer = new DefaultRenderer();
40 renderer.setBackgroundColor(Color.GRAY);
41 renderer.setApplyBackgroundColor(true);
42 renderer.setLabelsTextSize(20);
43 renderer.setChartTitle("pie chart");
44 renderer.setChartTitleTextSize(30);
45 renderer.setLegendTextSize(30);
46 renderer.setLegendHeight(50);
47 for (int color : colors) {
48 SimpleSeriesRenderer r = new SimpleSeriesRenderer();
49 r.setColor(color);
50 renderer.addSeriesRenderer(r);
51 }
52 return renderer;
53 }
54 }
Achartengine.java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
package test.chart.Achartengine;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
public class Achartengine extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super .onCreate(savedInstanceState);
try {
Intent achartIntent = new AChartExample( new double []{ 3 , 2 , 1 }).execute( this );
startActivity(achartIntent);
} catch (Exception e){
Log.d( "oncreate" ,e.getMessage());
}
}
} |
相关推荐
Android使用AChartEngine制作动态心电图效果
AChartEngine 是一个安卓系统上制作图表的框架 目前为止AchartEngine最新版是1.1.0版本。
android中AchartEngine制作柱图
android基于AChartengine实现折线图
Android中使用AChartEngine 来绘图的demo,比google code上的demo简单易懂。相关文章请看: http://blog.csdn.net/suiyuansanren/article/details/19819437
android报表开发api文档,很实在,很好用
android图表绘制工具,功能非常强大,几乎涵盖了所有的图表种类。 这是目前最新的版本:1.1.0 包含了3个文件: achartengine-1.1.0.jar, achartengine-1.1.0-demo-source.zip, achartengine-1.1.0-javadocs.zip ...
主要是aChartEngine 图表中线性图表的time chart的使用,以时间为x轴单位,可以自由的设置单位为年 月 日 时 分 秒等,可以自由的设置间隔大小
android用AChartEngine写的图形报表demo源码,导入即可运行,博客文章地址:http://www.wuhongge.cn/android-achartengine-demo/
NULL 博文链接:https://iaiai.iteye.com/blog/1783716
Android AChartEngine1.0 源码
android achartengine 文档
Android 使用AChartEngine画折线图统计图
在Android 中,有一个名为 AChartEngine的绘图库,可以供开发者调用,方便的在Android 开发中绘制如折线图、饼状图等图形。
Android AChartEngine自定义X轴字符串标签柱状图。使用GraphicalView,可以灵活设置在Activity布局上(不返回Intent,这个占用整个Activity的布局)。 内附有achartengine的jar文件
android achartengine曲线图 最新版
对于数据的可视化,之前,是想直接用Canvas 来画,不过,评估了一下,工作量挺大的,因为,是一个人开发,而且是从零开始,如果写一个Canvas 画报表的方法,太费时间了,于是,上网找了一下,使用AchartEngine,...
NULL 博文链接:https://chenzheng8975.iteye.com/blog/2101575
android折线图(AChartEngine和ichartjs)的实现
Android例子源码使用AChartEngine的仪表盘