您的位置:首页 > 移动开发 > Android开发

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);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: