http://www.eoeandroid.com/thread-548233-1-6.html

最近公司项目中要用到折线图,状态类型的图标要用到折线图,柱形图等,并且能够动态显示,在网上找了许多demo,基本上都是写死的数据,下面先让我们看看AChartEngine的介绍

AChartEngine 运行示例图 : 每个图表都需要一个数据集 (Dataset) 和 渲染器集合 (Renderer);

-- 数据集 : 又由许多数据组成,

-- 渲染器 : 也由不同的子渲染器组成,

-- 获取Activity 或 组件 : 图表工厂 (ChartFactory) 通过调用 数据集 (Dataset) 和 渲染器集合 (Renderer) 可以生成带图表的 GraphicalView 或者 GraphicalActivity;

/

那么分析完毕,其实就主要用到两大类,一个是数据集,一个是渲染器

AChartEngine是为Android应用程序的图表库。它目前支持以下图表类型:
线图
面积图
散点图
时间图
条形图
饼图
气泡图
圆环图
范围(高至低)条形图
拨号图/表压
合并(行,立行,散点图,酒吧,酒吧的范围,泡沫的任意组合)图
立体折线图

项目中不是应用activity来现实的,这样会导致UI缓慢,我们通过获取组件 ,向组件渲染的方式,代码如下:

如何把折线图嵌入到界面某个位置?
   可以利用ChartFactory类中很多的getXxxxView方法返回一个装着折线图的GraphicalView,然后通过位置View.addView(GraphicalView)之类的方法把折线图添加到你指定的控件处就行了。

如果项目中的X轴需要有文字,这点怎么做到呢?查了一下API,API如下
  
addXTextLabel
public void addXTextLabel(double x, java.lang.String text)
Adds a new text label for the specified X axis value.
Parameters:
x - the X axis value
text - the text label

(在工作中查API是个很好地习惯,英语不好也得逼自己一把,去看英文文档)
知道怎么用了,好,我们现在先实验一下,mRenderer.setXLabels(0);
                mRenderer.addXTextLabel(1, "国贸");
                mRenderer.addXTextLabel(2, "计算机");
                mRenderer.addXTextLabel(3, "音乐"); 
OK,让我们run一下。。。。
成功
因为项目中要求是从服务器获取坐标值,客户端做显示,根据服务器给的信息,加以判断,是折线图,还是饼状图的显示
现在发现有非常重要的两种数据,一个是坐标值,比如说 折线图 :X轴坐标,Y轴坐标,还有就是X轴的文字的显示

后期会写一个工具类,用于从服务器获取坐标值等,然后转化为所需要的数组,楼主会将总结及时更新 希望大家给予支持,如果代码中有需要修改的地方或者大家有更好的想法,欢迎提出
      

<ignore_js_op>

折线图 饼图的研究demo.zip

2.78 MB, 下载次数: 26

AChartEngine 安卓折线图 柱形图等利器的更多相关文章

  1. Android AChartEngine 去除折线图黑边

    通常使用AChartEngine画出的折线图,如果背景不是黑色,则会在折线图的坐标轴旁边出现黑边,如图所示: 试了好多设置,最后终于发现,去除黑边的设置是: mRenderer.setMarginsC ...

  2. Android图表引擎AChartEngine之折线图使用

    最近在帮老师做一个课题,其中app端需要显示折线图以便直观地看数据波动,上网查了些资料后发现了这款图标引擎,另外感谢李坤老师的博客,帮助很大. 废话不多说,下面写代码. 一.AChartEngine是 ...

  3. achartengine之折线图

    问题在文章的最后,大致说来就是折线图,如果点的个数大于3个的时候,不是所有的点都显示对应的值的,这是为什么呢,本来以为是小问题,但两天了还没找到原因) 将前两天的折线图代码做了小量修改,形成一个类似于 ...

  4. android使用achartengine 实现折线图

    折线图的实现分为下边几个步骤: 1.第一步:数据的准备 XYMultipleSeriesDataset mDataset = new XYMultipleSeriesDataset(); XYSeri ...

  5. highcharts折线图-柱形图等

    https://www.highcharts.com.cn/demo/highcharts/line-basic

  6. AChartEngine折线图实例

    最近做项目要用到图表,在网上找相关的解决方案找了很久,搜到最多的就是这个框架,所以就开始研究下怎么使用,首先研究的就是折线图,如是做了一个实例. AChartEngine下载地址:http://cod ...

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

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

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

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

  9. Android绘图机制(四)——使用HelloCharts开源框架搭建一系列炫酷图表,柱形图,折线图,饼状图和动画特效,抽丝剥茧带你认识图表之美

    Android绘图机制(四)--使用HelloCharts开源框架搭建一系列炫酷图表,柱形图,折线图,饼状图和动画特效,抽丝剥茧带你认识图表之美 这里为什么不继续把自定义View写下去呢,因为最近项目 ...

随机推荐

  1. HTML5系列一(属性概述)

    HTML5概述 HTML5於2004年被WHATWG(网页超文本技术工作小组)提出,於2007年被W3C接纳 在2008年1月22日,第一份正式草案已公布.WHATWG表示该规范是目前正在进行的工作, ...

  2. Java线程:Timer和TimerTask

    Timer和TimerTask可以做为实现线程的第三种方式,前两中方式分别是继承自Thread类和实现Runnable接口. Timer是一种线程设施,用于安排以后在后台线程中执行的任务.可安排任务执 ...

  3. easyUI数据表格datagrid之笔记

    1.用ajax获取数据库数据 /**========================================= * 读取数据库信息,使用ajax的load方法 */function getMe ...

  4. 第一章 基础设施,1.3 阿里视频云ApsaraVideo是怎样让4000万人同时狂欢的(作者:蔡华)

    1.3 阿里视频云ApsaraVideo是怎样让4000万人同时狂欢的 前言 在今年的双11中,双11天猫狂欢夜的直播成为一大亮点. 根据官方披露数据,直播总观看人数超4257万,同时观看人数峰值达5 ...

  5. JavaWeb文件下载,提示用户保存而不是让浏览器直接打开

    1.通过HttpServletResponse对象实现文件下载 服务端向客户端游览器发送文件时,如果是浏览器支持的文件类型,一般会默认使用浏览器打开,比如txt.jpg等,会直接在浏览器中显示,如果需 ...

  6. php构造函数extends

    extends的继续关系 page继承Dapta:也就是page拥有data的所有功能. <?php class Data{ function f(){ "; } } class Pa ...

  7. Jsp与servlet的区别 1

     Jsp与servlet的区别 2011-12-09 16:27:47 分类: Java 1.jsp经编译后就变成了Servlet.(JSP的本质就是Servlet,JVM只能识别java的类,不能识 ...

  8. RabbitMQ 命令行

    用户命令 .添加用户 rabbitmqctl add_user username password .删除用户 rabbitmqctl delete_user username .修改密码 rabbi ...

  9. [CentOs7]安装mysql(2)

    摘要 之前安装过一次mysql,最后配置,发现在本地无法连接,重启服务的时候一直卡在那里不动,感觉是安装的过程出问题,最后没办法还是卸载了,然后重新安装一下. [CentOs7]安装mysql Mys ...

  10. fedora 23如何实现 让root用户自动登录?

    没想到很简单: 只是修改一个文件的一个地方: 修改: /etc/gdm/custom.conf文件, 将自动登录 启用为true, 然后自动登录的名字设为root 即可: