博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android绘制折线图
阅读量:4102 次
发布时间:2019-05-25

本文共 1960 字,大约阅读时间需要 6 分钟。

参考:http://www.cnblogs.com/youxilua/archive/2012/01/18/2325132.html

 

1、 使用Android  绘图工具库  AChartEngine

2、 绘制折线图的代码解析

关于工具库

AChartEngine是为 android 应用而设计的绘图工具库。目前该库的最新稳定版本是 0.7 ,支持绘制以下类型的图表 :

·  line chart

·  area chart

·  scatter chart

·  time chart

·  bar chart

·  pie chart

·  bubble chart

·  doughnut chart

·  range (high-low) bar chart

·  dial chart / gauge

·  combined (any combination of line, cubic line, scatter, bar, range bar, bubble) chart

·  cubic line chart

以上每种图表可以包含多个序列 可以将 X 轴以水平或垂直的形式显示,也支持很多自定义的特性 图表可以作为 Viewl 构建,也可以作为 Intent 构建 —— 这样可以被用于启动一个活动( Activity

 

关于折线图绘制

折线图的效果:

 

代码解释:

//每条曲线的名称

 String[] titles =  new  String[]{

"First" , "Second" };

  List  x =  new   ArrayList ();  //点集的x坐标 

  List  y =  new   ArrayList ();  //点集的y坐标 

  x.add( new   double []{1,3,5,7,9,11}) ;

  x.add( new   double []{0,2,4,6,8,10}) ;

  y.add( new   double []{3,14,5,30,20,25}) ;

  y.add( new   double []{18,9,21,15,10,6}) ;

曲线的名称和坐标点都以定义

以下的解释参照上图

步骤一:折线图的坐标集

首先应该创建 XYSeries对象 用于提供绘制的点集合的数据

XYSeries series =  new  XYSeries(titles[i]);  // 根据每条线的名称创建

将所有的坐标加入这个集合

series .add (xV[k], yV[k]);

XYMultipleSeriesDataset对象 用于 保存点集数据 ,包括每条曲线的X,Y坐标

// 用于数据的存放

XYMultipleSeriesDataset  dataset  =  new  XYMultipleSeriesDataset();

dataset .addSeries (series);

 

步骤二:折线图的样式集

定义每条曲线的颜色

  int [] colors =  new   int [] {Color. BLUE ,Color. GREEN };

定义每条曲线的点的形状

PointStyle [] styles = 

new   PointStyle []{

PointStyle . CIRCLE PointStyle . DIAMOND };

 

曲线图的格式,包括颜色,值的范围,点和线的形状等等  都封装在 XYSeriesRender对象中,再将XYSeriesRender对象封装在 XYMultipleSeriesRenderer 对象中

 XYSeriesRenderer r =  new  XYSeriesRenderer(); 

 r.setColor(colors[i]); 

 r.setPointStyle(styles[i]); 

 r.setFillPoints(fill); 

XYMultipleSeriesRenderer renderer =  new  XYMultipleSeriesRenderer(); 

renderer.addSeriesRenderer(r); 

设置折线图名称,坐标轴的名称,坐标轴的起点重点,坐标轴的颜色,坐标轴上数字的颜色

setChartSettings(renderer,  "Line Chart Demo" "X" "Y" , - 1 , 12, 0, 35 , Color. WHITE , Color. WHITE );

 

步骤三:显示折线图

View chart = ChartFactory. getLineChartView ( this , dataset, renderer);

setContentView(chart); 

 

源码见附件

你可能感兴趣的文章
【Python】学习笔记——-6.2、使用第三方模块
查看>>
【Python】学习笔记——-7.0、面向对象编程
查看>>
【Python】学习笔记——-7.1、类和实例
查看>>
【Python】学习笔记——-7.2、访问限制
查看>>
【Python】学习笔记——-7.3、继承和多态
查看>>
【Python】学习笔记——-7.4、获取对象信息
查看>>
【Python】学习笔记——-7.5、实例属性和类属性
查看>>
Linux设备模型(总线、设备、驱动程序和类)之四:class_register
查看>>
git中文安装教程
查看>>
虚拟机 CentOS7/RedHat7/OracleLinux7 配置静态IP地址 Ping 物理机和互联网
查看>>
弱类型、强类型、动态类型、静态类型语言的区别是什么?
查看>>
Struts2技术内幕图书 转载
查看>>
Java异常分类
查看>>
项目中的jackson与json-lib使用比较
查看>>
Jackson Tree Model Example
查看>>
j2ee-验证码
查看>>
日志框架logj的使用
查看>>
js-高德地图规划路线
查看>>
常用js收集
查看>>
mydata97的日期控件
查看>>