AChartEngine高级应用之CombinedXYChart(组合统计图)在单个统计图上显示多样化的数据

本文介绍了如何使用AChartEngine库在Android中创建CombinedXYChart,展示多样化数据。通过设置XYMultipleSeriesRenderer,构建XYMultipleSeriesDataset,以及通过ChartFactory生成组合统计图,实现一个地方的天气和光照时间分布情况的统计。文章提供了一个项目链接以供下载参考,并提及AChartEngine应用系列的其他文章。
摘要由CSDN通过智能技术生成

AChartEngine高级应用之CombinedXYChart(组合统计图)在单个统计图上显示多样化的数据

现在是信息飞速发展时代,单个的统计图已经无法满足实际生产的要求,人们只想通过快速的观察就能知道很多信息,所以组合统计图就运用而生了,诸如,人们想了解一个地方的大致情况,首先可能要了解当地的天气情况,交通运输情况等,以下我模拟的是一个地方的天气、光照时间分布情况的统计图。这个是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 = n

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值