您的位置:首页 > 其它

aChartEngine图表显示(饼图、柱状图、折线图)

2015-05-25 18:03 453 查看


aChartEngine图表显示(饼图、柱状图、折线图)

由于项目需要,要用到图表显示,所以就上网查找了些资料,就找到了下面一张图,以及几个概念:



 

从图中可以看出,绘制一个图表,需要理解三个概念
1、ChartFactory
传入Renderer,Dataset的参数,然后用getXXXChartIntent(Context context,XYMutilpleSeriesRenderer,XYMutilpleSeriesDataset)方法进行图表的显示
2、XYMutilpleSeriesRenderer
用于进行绘制的设置,添加的Renderer对象,用于定义绘制的点集合设置,注意数量要和Dataset添加的XYseries一致!!!
3、XYMutilpleSeriesDataset
用于数据的存放,添加的XYseries对象,用于提供绘制的点集合的数据
下面是我学习之后的总结:
说白了,就三个东西,一个Intent,一个Renderer和一个Dataset。
Intent       就是要启动一个GraphicalActivity来显示图表用的,这个GraphicalActivity需要在manifest注册!
                  一般由 ChartFactory.get***ChartIntent获得,如下:

ChartFactory.getBarChartIntent(context, getBarDataset(),renderer, Type.DEFAULT);


Renderer 就是渲染器,设置图表显示的一些特征,比如图表的大小,标题,坐标轴的颜色,背景颜色等

DefaultRenderer renderer = new DefaultRenderer();
renderer.setBackgroundColor(Color.GRAY);// 背景颜色
renderer.setLabelsTextSize(25);// 标签文字大小
renderer.setChartTitle("手机系统");// 图表名称
renderer.setChartTitleTextSize(30);// 图表名称大小
renderer.setLegendTextSize(30);// 图标字体大小
renderer.setLegendHeight(100);// 图标文字距离底边的高度
renderer.setPanEnabled(false);//图表是否可以移动
renderer.setZoomEnabled(true);//图表是否可以缩放


Dataset    就是数据集,就是你自己要制作表的数据集

XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();
double[] data1 = { 19, 23, 23, 42, 25, 25, 17, 28, 39 };
double[] data2 = { 39, 43, 13, 12, 15, 35, 37, 18, 19 };

for (int i = 0; i < 2; i++) {
CategorySeries series = new CategorySeries("测试数据" + (i + 1));
if (i == 0) {
for (int j = 0; j < data1.length; j++) {
series.add(data1[j]);
}
} else {
for (int j = 0; j < data2
4000
.length; j++) {
series.add(data2[j]);
}
}

dataset.addSeries(series.toXYSeries());
}


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: