AChartEngine高级应用之CombinedXYChart(组合统计图)在单个统计图上显示多样化的数据
来源:互联网 发布:安卓软件下载 编辑:程序博客网 时间:2024/05/12 05:04
From:http://blog.csdn.net/qiuzhping/article/details/18502617
现在是信息飞速发展时代,单个的统计图已经无法满足实际生产的要求,人们只想通过快速的观察就能知道很多信息,所以组合统计图就运用而生了,诸如,人们想了解一个地方的大致情况,首先可能要了解当地的天气情况,交通运输情况等,以下我模拟的是一个地方的天气、光照时间分布情况的统计图。这个是AChartEngine图表的高级应用。
构建CombinedXYChart图的步骤主要分为以下三步,还需要在项目中引入AChartEngine依赖jar包,在Manifest中添加:<activityandroid:name="org.achartengine.GraphicalActivity" />
1. 设置XYMultipleSeriesRenderer
XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer();// 设置描绘器
renderer.setAxisTitleTextSize(16);
renderer.setChartTitleTextSize(20);
renderer.setLabelsTextSize(15);
renderer.setLegendTextSize(15);
renderer.setPointSize(5f);
renderer.setMargins(new int[] { 20, 30, 15, 20 });// 上,左,下,右
int length = colors.length;
for (int i = 0; i < length; i++) {
XYSeriesRenderer r = new XYSeriesRenderer();
r.setColor(colors[i]);
r.setPointStyle(styles[i]);
renderer.addSeriesRenderer(r);
}
renderer.setXLabels(12);// X轴均分12项
renderer.setYLabels(10);// Y轴均分10项
renderer.setShowGrid(true);// 显示表格
renderer.setXLabelsAlign(Align.RIGHT);// 右对齐
renderer.setYLabelsAlign(Align.RIGHT);
renderer.setZoomButtonsVisible(false);// 不显示放大缩小
renderer.setPanEnabled(false, false);// 上下左右都不可以移动
//dataset.addSeries(0, sunSeries);
dataset.addSeries(0, waterSeries);
//renderer.addSeriesRenderer(0, lightRenderer);
renderer.addSeriesRenderer(0, waterRenderer);
2. 构建数据源XYMultipleSeriesDataset
// --------------------------曲线start---------------------------------------
String[] titles = new String[] { "最低温度", "最高温度", "平均光照时间" };// 曲线标题
List<double[]> x = new ArrayList<double[]>();
for (int i = 0; i < titles.length; i++) {
x.add(new double[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 });
}
List<double[]> values = new ArrayList<double[]>();
values.add(new double[] { -12.3, -8, -2, 3, 16, 18, 26.4, 26.9, 18.6,
12.3, -2, -10 });
values.add(new double[] { 9, 10, 11, 15, 19, 23, 38, 40, 37, 32, 23, 10 });
values.add(new double[] { 6.3, 7.5, 8.5, 9.8, 10.8, 11.3, 13.5, 14.1, 10.3, 9.5, 9.2, 8 });
int[] colors = new int[] { Color.GREEN, Color.RED, Color.YELLOW };// 绿色,红色
PointStyle[] styles = new PointStyle[] { PointStyle.CIRCLE,// 圆圈状
PointStyle.DIAMOND, PointStyle.SQUARE };// 菱形状,矩形状
XYSeries waterSeries = new XYSeries("平均温度");
waterSeries.add(1, -3);// 添加数据
waterSeries.add(2, 6);
waterSeries.add(3, 10);
waterSeries.add(4, 17);
waterSeries.add(5, 20);
waterSeries.add(6, 26);
waterSeries.add(7, 29);
waterSeries.add(8, 30);
waterSeries.add(9, 23);
waterSeries.add(10, 19);
waterSeries.add(11, 10);
waterSeries.add(12, -1);
renderer.setBarSpacing(0.5);
XYSeriesRenderer waterRenderer = new XYSeriesRenderer();
waterRenderer.setColor(Color.CYAN);// 青色
waterRenderer.setDisplayChartValues(true);// 显示数值
waterRenderer.setChartValuesTextSize(10);// 设置数值字体
XYMultipleSeriesDataset dataset = buildDataset(titles, x, values);
//dataset.addSeries(0, sunSeries);
dataset.addSeries(0, waterSeries);
//renderer.addSeriesRenderer(0, lightRenderer);
renderer.addSeriesRenderer(0, waterRenderer);
3. 通过ChartFactory生成CombinedXYChartView组合统计图
mViewChart = ChartFactory.getCombinedXYChartView(
getApplicationContext(), dataset, renderer, types);// 通过ChartFactory生成图表
mLayout.addView(mViewChart, new LayoutParams(LayoutParams.FILL_PARENT,
LayoutParams.FILL_PARENT));// 将图表添加到布局中去
效果图:
Code:
对应完整项目:http://download.csdn.net/detail/qiu_11/6864045
未完待续…..
AChartEngine应用系列文章
(一)AChartEngine简介
(二)AChartEngine应用之PieChart(饼图)
(三)AChartEngine应用之BarChart(柱形图)
(四)AChartEngine应用之PieChart(动态饼图,允许产生动态数据并显示)
(五)AChartEngine应用之LineChart(模拟生命特征值图)
(六)AChartEngine应用之LineChart(模拟三角函数sin,cos)
(七)AChartEngine高级应用CombinedXYChart(组合统计图)
- AChartEngine高级应用之CombinedXYChart(组合统计图)在单个统计图上显示多样化的数据
- AChartEngine高级应用之CombinedXYChart(组合统计图)在单个统计图上显示多样化的数据
- AChartEngine高级应用之CombinedXYChart(组合统计图)在单个统计图上显示多样化的数据
- 应用achartengine画数据统计图之 画TimeChart
- 应用achartengine包画数据统计图之二————画PieChart(饼图)
- Android使用统计图AChartEngine 来展示数据
- Android achartengine统计图
- [Android]Android achartengine统计图
- android统计图—achartengine
- 柱线组合统计图控制系列的显示类型
- 应用achartengine包画数据统计图之一————基础介绍及画TimeChart
- HelloChart--ComboLineColumnChartView(组合统计图)
- HelloChart--ComboLineColumnChartView(组合统计图)
- highcharts绘制统计图的应用
- 使用ECharts实现各种数据统计图(饼图,柱状图,折线图)在javaWeb中的应用
- 利用 fusioncharts-suite-xt 完成数据的统计图显示
- 如何控制Excel统计图数据的实际显示范围
- 统计图
- 开启特定端口
- 【国家集训队2012】tree(伍一鸣)
- bootstrapValidator 如何重新启用提交按钮
- photoshop第十四章:制作阳光浪漫场景效果
- 知识库--面向对象编程的缺陷(The Deficiency of the Object Model)(118)
- AChartEngine高级应用之CombinedXYChart(组合统计图)在单个统计图上显示多样化的数据
- Python入门小菜笔记
- Codeforces Canada Cup 2016 F. Family Photos 博弈 策略分析 好题
- 关于socket用winform实现简单通信 大牛可绕道 初学者可以看看 我做的时候把客户端窗口隐藏了 大家可以自己改一下
- 二叉树非递归遍历,重构
- spring4.1.6整合Struts2.5.5
- python encode和decode函数说明
- 谷歌浏览器提示Adobe Flash Player 已过期解决
- 初学机器学习笔记