之前在java开发中实现图表使用JFreeChar组件,最近有个小项目要求在Android端进行数据分析,如何实现图表呢?查了一下google提供了一个开源组件Achartengine非常好用,可实现绘制各种图形,完全满足了开发的需要,下面就说说如何使用。

一、准备工作

下载jar包

官网地址:http://code.google.com/p/achartengine/

网盘地址:http://pan.baidu.com/s/1EYhUe(含API文档,代码)

二、关键点说明——AchartEngined的使用

1、ChartFactory组件

  ChartFactory组件提供getXXXX方法可获得不同的图形,例如

getBarChartView()柱状图

getPieChartView()饼图

getLineChartView(Context context ,XYMultipleSeriesDataset dataset, XYMultipleSeriesRenderer renderer)//折线图

getCubeLineChartView() //圆滑曲线图

2、CategorySeries和DefaultRenderer

  这些方法一般都有三个参数依次为(不同图形还会有增加一些参数)

  Context context,CategorySeries dataset, DefaultRenderer renderer

Context:表示应用上下文

CategorySeries:是图表的数据信息,包含构成的元素名称和值AchartEngined就是根据这个数据统计所占百分比的

DefaultRenderer:设置图片的样式,如设置每个元素的颜色、标题大小、背景颜色等

  如绘制饼图,代码如下:

//创建CategorySeries 组件
CategorySeries series=new CategorySeries(“第一季度销售分析”);
series.add(“一月”,30000);
series.add(“二月”,40000);
series.add(“三月”,36000);
//创建DefaultRenderer组件
DefaultRenderer renderer = new DefaultRenderer(); renderer.setMargins(new int[] { 20, 30, 0 });//设置图例之间的间接单位为px
renderer.setLabelsTextSize(15);//设置标签的字体大小
renderer.setLegendTextSize(15);//设置图例的字体大小
SimpleSeriesRenderer r1 = new SimpleSeriesRenderer();
r1.setColor(Color.BLUE);
renderer.addSeriesRenderer(r1);//设置饼图颜色,一月份
SimpleSeriesRenderer r2 = new SimpleSeriesRenderer();
r1.setColor(Color.GREEN);
renderer.addSeriesRenderer(r2);//设置饼图颜色,二月份
SimpleSeriesRenderer r3 = new SimpleSeriesRenderer();
r1.setColor(Color.RED);
renderer.addSeriesRenderer(r3); //设置饼图颜色,三月份
//产生饼图
GraphicalView view=ChartFactory.getPieChartView(context, series, renderer);

3、GraphicalView

  这些方法返回呈现图表的View——GraphicalView ,使用Layout的addView()方法添加到布局中即可显示,如:

GraphicalView view=ChartFactory.getPieChartView(context, series, renderer);
layout.addView(charView);

  绘制其他图形步骤和饼图大同小异,大家可以结合API文档测试一下

三、实现案例

  该案例包含绘制曲线、柱状图、饼形,进行了在AchartEngined组件基础上化封装,核心代码上述例子已经讲解,这里只提供下载地址

  源码下载地址:http://pan.baidu.com/s/1eQlJJVG

作者:杰瑞教育
出处:http://www.cnblogs.com/jerehedu/ 
本文版权归烟台杰瑞教育科技有限公司和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
 

Android制作曲线、柱状图、饼形等图表——使用AChartEngine的更多相关文章

  1. Android 图表绘制 achartengine 示例解析

    一. AChartEngine 简介 1. 项目地址 AChartEngine 简介 : AChartEngine 是 Android 平台的图表开发库, 能绘制 折线图, 饼图, 气泡图, 柱状图, ...

  2. 【Android 应用开发】Android 图表绘制 achartengine 示例解析

    作者 : 韩曙亮 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/38420197 一. AChartEngine 简介 1. 项 ...

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

    折线图: package org.achartengine.chartdemo.demo.chart; import java.util.ArrayList; import java.util.Lis ...

  4. [Swift通天遁地]三、手势与图表-(13)制作美观简介的滚动图表:折线图表、面积图表、柱形图表、散点图表

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...

  5. [Android]使用Dagger 2依赖注入 - 图表创建的性能(翻译)

    以下内容为原创,欢迎转载,转载请注明 来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/5098943.html 使用Dagger 2依赖注入 - 图表创 ...

  6. Android手动画柱状图的例子

    效果图如上,网上看到的例子,谨以此文记录一下,以后用到的地方再来翻翻. 核心技术是用Canvas和Paint画长方形. 源码地址:http://download.csdn.net/detail/abc ...

  7. 从零开始学Xamarin.Forms(三) Android 制作启动画面

    原文:从零开始学Xamarin.Forms(三) Android 制作启动画面     Xamarin.Forms 在启动的时候相当慢,必须添加一个启动界面,步骤如下: 1.将启动画面的图片命名为:s ...

  8. 用ESP8266+android,制作自己的WIFI小车(Android 软件)

    先说一下这篇文章里面的内容:TCP 客户端, 自定义对话框, 自定义按钮, ProgressBar竖直显示, 重力感应传感器,手机返回键新开启界面的问题(返回上次的界面),数据保存 软件的通信是配合 ...

  9. xamarin android制作圆角边框

    xamarin android制作圆角边框 效果图如下: 关键代码: drawable文件夹新建shape_corner_down.xml <?xml version="1.0&quo ...

随机推荐

  1. 如何保证Redis中的数据都是热点数据

    redis 内存数据集大小上升到一定大小的时候,就会施行数据淘汰策略.redis 提供 6种数据淘汰策略:volatile-lru:从已设置过期时间的数据集(server.db[i].expires) ...

  2. 1014 Waiting in Line (30)(30 point(s))

    problem Suppose a bank has N windows open for service. There is a yellow line in front of the window ...

  3. python opencv3 图像与原始字节转换

    git: https://github.com/linyi0604/Computer-Vision # coding:utf8 import cv2 import numpy import os &q ...

  4. 机器学习之路: python k近邻分类器 KNeighborsClassifier 鸢尾花分类预测

    使用python语言 学习k近邻分类器的api 欢迎来到我的git查看源代码: https://github.com/linyi0604/MachineLearning from sklearn.da ...

  5. Redis 服务器命令

    1.BGREWRITEAOF 异步执行一个 AOF(AppendOnly File) 文件重写操作 2.BGSAVE 在后台异步保存当前数据库的数据到磁盘 3.CLIENT KILL [ip:port ...

  6. Spring的模块组成

    Spring的模块组成 1.核心容器:核心容器提供 Spring 框架的基本功能(Spring Core).核心容器的主要组件是 BeanFactory,它是工厂模式的实现. BeanFactory ...

  7. windows提权exp列表

    漏洞列表 #Security Bulletin #KB #Description #Operating System CVE-2017-0213 [Windows COM Elevation of P ...

  8. [转]Android使用Application总结

        目录(?)[+]   Application 配置全局Context 第一步.写一个全局的单例模式的MyApplication继承自Application 覆盖onCreate ,在这个方法里 ...

  9. UVALive 4868 Palindrometer 暴力

    F - Palindrometer Time Limit:3000MS     Memory Limit:0KB     64bit IO Format:%lld & %llu Submit ...

  10. Notepad++源代码阅读——窗口封装与继承

    引言 近期在看Notepad++的源代码,学习学习Win32 原生API的开发技巧. 本文以Notepad++ 1.0版本的源代码为例讲解如何封装windows窗口,实现面向对象开发,如何通过窗口的继 ...