android 绘制折线图(AChartEngine)Linechart静态的
2014-03-05 22:19
811 查看
转自:http://hi.baidu.com/yurenmeiguis/item/4b9218df1a9ef5122b35c7bd
参考: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);
参考: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);
相关文章推荐
- Android自学笔记-8-Android数据存储1:文件、SharedPreferences和获取sd卡信息
- Android Math.random()解释
- Android R文件无法恢复问题
- Android的shape和颜色选择器结合使用
- Android 2.2.2到Android 4.2.2源码下载地址
- Android Binary XML file line : Error inflating class <unknown
- Android高手进阶教程(三)之----Android 中自定义View的应用.
- 解决android模拟器 Failed to create Context 0x3005 Could not initialize OpenglES emulation...
- Android高手进阶教程(四)之----Android 中自定义属性(attr.xml,TypedArray)的使用!
- Android中 int 和 String 互相转换的多种方法
- [转载]android—OpenGL—GL10方法解析(转载)
- android:layout_paddingLeft和android:layout_marginLeft区别
- android view构造函数研究及错误ERR inflating class
- Android Developer Tools 安装版本控制客户端
- Android view实例化
- Android 在activity中显示非view组件eg:GLSurfaceView
- Ubuntu12.04下载编译android4.4源码
- android官方文档翻译(不断更新中。。。)
- Android自定义view组件应用
- android默认输入法设置