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. 利用 Django REST framework 编写 RESTful API

    利用 Django REST framework 编写 RESTful API Updateat 2015/12/3: 增加 filter 最近在玩 Django,不得不说 rest_framewor ...

  2. 什么是jsonp

    Jsonp其实就是一个跨域解决方案. Js跨域请求数据是不可以的,但是js跨域请求js脚本是可以的. 所以可以把要请求的数据封装成一个js语句,做一个方法的调用. 跨域请求js脚本可以得到此脚本.得到 ...

  3. java校验时间格式 HH:MM

    package com; import java.text.SimpleDateFormat; import java.util.Date; /** * @author Gerrard */ publ ...

  4. MFC学习-第4课 消息机制和MFC作图

    转自: 1.http://blog.sina.com.cn/s/blog_6b5180bf01012kbz.html 2.http://blog.csdn.net/happyhhb/article/d ...

  5. base64 convert to file

    var fs= require('fs') var imageFile = dataUrl.replace(/^data:image\/\w+;base64,/, ""); var ...

  6. setInterval js

    $('#start_scan').on('click',function(){ if(timer == undefined){ timer = setInterval(scan,1000) start ...

  7. BIOS设置教程

    BIOS设置图解教程之AMI篇 BIOS设置图解教程之AMI篇(目前主板上常见的BIOS主要为AMI与AWARD两个系列,如何辨别BIOS品牌系列请移步,本文详细讲解AMI系列的BIOS设置图解教程, ...

  8. C#--几个数据流Stream;StreamReader;StreamWriter;MemoryStream;BufferStream;

    命名空间:System.IO; Stream: 各种流的基类,不能时行查找操作,Position属性不能修改.读取时不Position不会自动移动, HttpWebRequest webreq = ( ...

  9. cdn提供商

    七牛,又拍 http://www.qiniu.com/ https://www.upyun.com/index.html

  10. 解决windows系统80端口被占用问题(转)

    在windows下部署web应用(80端口),启动时提示bind 80端口失败 检查端口占用: netstat -ano | findstr 0.0.0.0:80 发现System进程 (pid=4) ...