折线图:

  1. package org.achartengine.chartdemo.demo.chart;
  2. import java.util.ArrayList;
  3. import java.util.List;
  4. import org.achartengine.ChartFactory;
  5. import org.achartengine.chart.PointStyle;
  6. import org.achartengine.renderer.XYMultipleSeriesRenderer;
  7. import org.achartengine.renderer.XYSeriesRenderer;
  8. import android.content.Context;
  9. import android.content.Intent;
  10. import android.graphics.Color;
  11. import android.graphics.Paint.Align;
  12. public class AverageTemperatureChart extends AbstractDemoChart {
  13. public String getName() {
  14. return "Average temperature";
  15. }
  16. public String getDesc() {
  17. return "The average temperature in 4 Greek islands (line chart)";
  18. }
  19. public Intent execute(Context context) {
  20. String[] titles = new String[] { "Crete", "Corfu", "Thassos", "Skiathos" };//图例
  21. List<double[]> x = new ArrayList<double[]>();
  22. for (int i = 0; i < titles.length; i++) {
  23. x.add(new double[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 });//每个序列中点的X坐标
  24. }
  25. List<double[]> values = new ArrayList<double[]>();
  26. values.add(new double[] { 12.3, 12.5, 13.8, 16.8, 20.4, 24.4, 26.4, 26.1, 23.6, 20.3, 17.2,
  27. 13.9 });//序列1中点的y坐标
  28. values.add(new double[] { 10, 10, 12, 15, 20, 24, 26, 26, 23, 18, 14, 11 });//序列2中点的Y坐标
  29. values.add(new double[] { 5, 5.3, 8, 12, 17, 22, 24.2, 24, 19, 15, 9, 6 });//序列3中点的Y坐标
  30. values.add(new double[] { 9, 10, 11, 15, 19, 23, 26, 25, 22, 18, 13, 10 });//序列4中点的Y坐标
  31. int[] colors = new int[] { Color.BLUE, Color.GREEN, Color.CYAN, Color.YELLOW };//每个序列的颜色设置
  32. PointStyle[] styles = new PointStyle[] { PointStyle.CIRCLE, PointStyle.DIAMOND,
  33. PointStyle.TRIANGLE, PointStyle.SQUARE };//每个序列中点的形状设置
  34. XYMultipleSeriesRenderer renderer = buildRenderer(colors, styles);//调用AbstractDemoChart中的方法设置renderer.
  35. int length = renderer.getSeriesRendererCount();
  36. for (int i = 0; i < length; i++) {
  37. ((XYSeriesRenderer) renderer.getSeriesRendererAt(i)).setFillPoints(true);//设置图上的点为实心
  38. }
  39. setChartSettings(renderer, "Average temperature", "Month", "Temperature", 0.5, 12.5, -10, 40,
  40. Color.LTGRAY, Color.LTGRAY);//调用AbstractDemoChart中的方法设置图表的renderer属性.
  41. renderer.setXLabels(12);//设置x轴显示12个点,根据setChartSettings的最大值和最小值自动计算点的间隔
  42. renderer.setYLabels(10);//设置y轴显示10个点,根据setChartSettings的最大值和最小值自动计算点的间隔
  43. renderer.setShowGrid(true);//是否显示网格
  44. renderer.setXLabelsAlign(Align.RIGHT);//刻度线与刻度标注之间的相对位置关系
  45. renderer.setYLabelsAlign(Align.CENTER);//刻度线与刻度标注之间的相对位置关系
  46. renderer.setZoomButtonsVisible(true);//是否显示放大缩小按钮
  47. renderer.setPanLimits(new double[] { -10, 20, -10, 40 }); //设置拖动时X轴Y轴允许的最大值最小值.
  48. renderer.setZoomLimits(new double[] {  -10, 20, -10, 40 });//设置放大缩小时X轴Y轴允许的最大最小值.
  49. Intent intent = ChartFactory.getLineChartIntent(context, buildDataset(titles, x, values),
  50. renderer, "Average temperature111");//构建Intent
  51. return intent;
  52. }
  53. }

饼图:

  1. package org.achartengine.chartdemo.demo.chart;
  2. import org.achartengine.ChartFactory;
  3. import org.achartengine.renderer.DefaultRenderer;
  4. import android.content.Context;
  5. import android.content.Intent;
  6. import android.graphics.Color;
  7. public class BudgetPieChart extends AbstractDemoChart {
  8. public String getName() {
  9. return "Budget chart";
  10. }
  11. public String getDesc() {
  12. return "The budget per project for this year (pie chart)";
  13. }
  14. public Intent execute(Context context) {
  15. double[] values = new double[] { 12, 14, 11, 10, 19 };//饼图分层5块,每块代表的数值
  16. int[] colors = new int[] { Color.BLUE, Color.GREEN, Color.MAGENTA, Color.YELLOW, Color.CYAN };//每块饼图的颜色
  17. DefaultRenderer renderer = buildCategoryRenderer(colors);
  18. renderer.setZoomButtonsVisible(true);//设置显示放大缩小按钮
  19. renderer.setZoomEnabled(true);//设置允许放大缩小.
  20. renderer.setChartTitleTextSize(20);//设置图表标题的文字大小
  21. return ChartFactory.getPieChartIntent(context, buildCategoryDataset("Project budget", values),
  22. renderer, "Budget");//构建Intent, buildCategoryDataset是调用AbstraDemoChart的构建方法.
  23. }
  24. }

柱状图:

  1. package org.achartengine.chartdemo.demo.chart;
  2. import java.util.ArrayList;
  3. import java.util.List;
  4. import org.achartengine.ChartFactory;
  5. import org.achartengine.chart.BarChart.Type;
  6. import org.achartengine.renderer.XYMultipleSeriesRenderer;
  7. import android.content.Context;
  8. import android.content.Intent;
  9. import android.graphics.Color;
  10. import android.graphics.Paint.Align;
  11. public class SalesStackedBarChart extends AbstractDemoChart {
  12. public String getName() {
  13. return "Sales stacked bar chart";
  14. }
  15. public String getDesc() {
  16. return "The monthly sales for the last 2 years (stacked bar chart)";
  17. }
  18. public Intent execute(Context context) {
  19. String[] titles = new String[] { "2008", "2007" };//图例
  20. List<double[]> values = new ArrayList<double[]>();
  21. values.add(new double[] { 14230, 12300, 14240, 15244, 15900, 19200, 22030, 21200, 19500, 15500,
  22. 12600, 14000 });//第一种柱子的数值
  23. values.add(new double[] { 5230, 7300, 9240, 10540, 7900, 9200, 12030, 11200, 9500, 10500,
  24. 11600, 13500 });//第二中柱子的数值
  25. int[] colors = new int[] { Color.BLUE, Color.CYAN };//两种柱子的颜色
  26. XYMultipleSeriesRenderer renderer = buildBarRenderer(colors);//调用AbstractDemoChart中的方法构建renderer.
  27. setChartSettings(renderer, "Monthly sales in the last 2 years", "Month", "Units sold", 0.5,
  28. 12.5, 0, 24000, Color.GRAY, Color.LTGRAY);//调用AbstractDemoChart中的方法设置renderer的一些属性.
  29. renderer.getSeriesRendererAt(0).setDisplayChartValues(true);//设置柱子上是否显示数量值
  30. renderer.getSeriesRendererAt(1).setDisplayChartValues(true);//设置柱子上是否显示数量值
  31. renderer.setXLabels(12);//X轴的近似坐标数
  32. renderer.setYLabels(5);//Y轴的近似坐标数
  33. renderer.setXLabelsAlign(Align.LEFT);//刻度线与X轴坐标文字左侧对齐
  34. renderer.setYLabelsAlign(Align.LEFT);//Y轴与Y轴坐标文字左对齐
  35. renderer.setPanEnabled(true, false);//允许左右拖动,但不允许上下拖动.
  36. // renderer.setZoomEnabled(false);
  37. renderer.setZoomRate(1.1f);//放大的倍率
  38. renderer.setBarSpacing(0.5f);//柱子间宽度
  39. return ChartFactory.getBarChartIntent(context, buildBarDataset(titles, values), renderer,
  40. Type.STACKED);//构建Intent, buildBarDataset是调用AbstractDemochart中的方法.
  41. }
  42. }

安卓图表引擎AChartEngine(一) - 简介

http://blog.csdn.net/lk_blog/article/details/7645509

安卓图表引擎AChartEngine(二) - 示例源码概述和分析

http://blog.csdn.net/lk_blog/article/details/7642751

安卓图表引擎AChartEngine(三) - 示例源码折线图、饼图和柱状图

http://blog.csdn.net/lk_blog/article/details/7645668

安卓图表引擎AChartEngine(四) - 源码示例嵌入Acitivity中的折线图

http://blog.csdn.net/lk_blog/article/details/7645665

安卓图表引擎AChartEngine(五) - Render和Dataset参数介绍

http://blog.csdn.net/lk_blog/article/details/7645661

安卓图表引擎AChartEngine(六) - 框架源码结构图

http://blog.csdn.net/lk_blog/article/details/7645671

安卓图表引擎AChartEngine(三) - 示例源码折线图、饼图和柱状图的更多相关文章

  1. 安卓图表引擎AChartEngine(二) - 示例源码概述和分析

    首先看一下示例中类之间的关系: 1. ChartDemo这个类是整个应用程序的入口,运行之后的效果显示一个list. 2. IDemoChart接口,这个接口定义了三个方法, getName()返回值 ...

  2. 安卓图表引擎AChartEngine(六) - 框架源码结构图

    包结构: org.achartengine: org.achartengine.model: org.achartengine.renderer: org.achartengine.tools: 安卓 ...

  3. 安卓图表引擎AChartEngine(四) - 源码示例 嵌入Acitivity中的折线图

    前面几篇博客中都是调用ChartFactory.get***Intent()方法,本节讲的内容调用ChartFactory.get***View()方法,这个方法调用的结果可以嵌入到任何一个Activ ...

  4. 安卓图表引擎AChartEngine(一) - 简介

    AChartEngine 是一个安卓系统上制作图表的框架,目前它支持如下的图表类型: line chart (折线图) area chart (面积图:分区图,对比图) scatter chart ( ...

  5. 【开源项目10】安卓图表引擎AChartEngine

    安卓图表引擎AChartEngine(一) - 简介 http://blog.csdn.net/lk_blog/article/details/7645509 安卓图表引擎AChartEngine(二 ...

  6. 安卓图表引擎AChartEngine(五) - Dataset和Render参数介绍

    下面只讲解一个Renderer和一个DataSet,更多内容参看官方文档 DefaultRenderer: void addSeriesRenderer(int index, SimpleSeries ...

  7. Tyrion中文文档(含示例源码)

    Tyrion是一个基于Python实现的支持多个WEB框架的Form表单验证组件,其完美的支持Tornado.Django.Flask.Bottle Web框架.Tyrion主要有两大重要动能: 表单 ...

  8. 【安卓网络请求开源框架Volley源码解析系列】定制自己的Request请求及Volley框架源码剖析

    通过前面的学习我们已经掌握了Volley的基本用法,没看过的建议大家先去阅读我的博文[安卓网络请求开源框架Volley源码解析系列]初识Volley及其基本用法.如StringRequest用来请求一 ...

  9. Visual Studio 2015开发Qt项目实战经验分享(附项目示例源码)

    Visual Studio 2015开发Qt项目实战经验分享(附项目示例源码)    转 https://blog.csdn.net/lhl1124281072/article/details/800 ...

随机推荐

  1. jQuery修改页面元素的属性

    作为一个后台开发者,在web开发的时候会常常遇到修改前台页面的属性的问题.这两天我发现jQuery的$("#id").attr("prop","值&q ...

  2. Effective C++ -----条款41:了解隐式接口和编译期多态

    classes和templates都支持接口(interface)和多态(polymorphism). 对classes而言接口是显式的(explicit),以函数签名为中心.多态则是通过virtua ...

  3. 【leetcode】Restore IP Addresses (middle)

    Given a string containing only digits, restore it by returning all possible valid IP address combina ...

  4. LeetCode 191 Number of 1 Bits

    Problem: Write a function that takes an unsigned integer and returns the number of '1' bits it has ( ...

  5. September 20th 2016 Week 39th Tuesday

    Failure is not fatal, but failure to change might be. 失败并不致命,但无法改变却可能是致命的. I need change, but it see ...

  6. July 1st, Week 27th Friday, 2016

    It does not do to dwell on dreams, and forget to live. 不要生活在梦里,不要沉醉于空想而疏忽了生活. Stand straightly, and ...

  7. 前端性能优化(DOM篇)

    原文链接:https://segmentfault.com/a/1190000000490322 缓存DOM对象 JavaScript的DOM操作可以说是JavaScript最重要的功能,我们经常要根 ...

  8. 模拟赛1029d1

    第二题[题目描述]给你两个日期,问这两个日期差了多少毫秒.[输入格式]两行,每行一个日期,日期格式保证为"YYYY-MM-DD hh:mm:ss"这种形式.第二个日期时间一定比第一 ...

  9. MVC控制下输出图片、javascript与json格式

    /// <summary> /// 输出图片 /// </summary> /// <returns></returns> public ActionR ...

  10. mybatis 学习!

    参考链接 http://www.mybatis.org/spring/zh/mappers.html http://www.cnblogs.com/fangjian0423/p/spring-myba ...