android使用achartengine 实现折线图

折线图的实现分为下边几个步骤:
1、第一步:数据的准备
XYMultipleSeriesDataset mDataset = new XYMultipleSeriesDataset();
XYSeries series1 = new XYSeries("第一条线");
series1.add(1, 7);
series1.add(2, 9);
series1.add(3,12);
series1.add(4, 5);
mDataset.addSeries(series1);
XYSeries series2 = new XYSeries("第二条线");
series2.add(1, 3);
series2.add(2, 8);
series2.add(3, 7);
series2.add(4, 4);
mDataset.addSeries(series2);
第二、步是描绘器的设置即XYMultipleSeriesRenderer的实现
这个主要实现的是坐标轴的绘制包括,字体大小,坐标轴的刻度的设置
例如 XYMultipleSeriesRenderer mRenderer = new XYMultipleSeriesRenderer(); //设置图表的X轴的当前方向 mRenderer.setOrientation(XYMultipleSeriesRenderer.Orientation.HORIZONTAL);
mRenderer.setXTitle("日期");//设置为X轴的标题
mRenderer.setYTitle("温度");//设置y轴的标题
mRenderer.setAxisTitleTextSize(20);//设置轴标题文本大小
mRenderer.setChartTitle("温度走势图");//设置图表标题
mRenderer.setChartTitleTextSize(30);//设置图表标题文字的大小
mRenderer.setLabelsTextSize(18);//设置标签的文字大小
mRenderer.setLegendTextSize(20);//设置图例文本大小
mRenderer.setPointSize(10f);//设置点的大小
mRenderer.setYAxisMin(0);//设置y轴最小值是0
mRenderer.setYAxisMax(15);
mRenderer.setYLabels(10);//设置Y轴刻度个数(貌似不太准确)
mRenderer.setXAxisMax(5);
mRenderer.setShowGrid(true);//显示网格
//将x标签栏目显示如:1,2,3,4替换为显示1月,2月,3月,4月
mRenderer.addXTextLabel(1, "1月");
mRenderer.addXTextLabel(2, "2月");
mRenderer.addXTextLabel(3, "3月");
mRenderer.addXTextLabel(4, "4月");
mRenderer.setXLabels(0);//设置只显示如1月,2月等替换后的东西,不显示1,2,3等
mRenderer.setMargins(new int[] { 20, 30, 15, 20 });//设置视图位置
第三步:折线图线条的设置
XYSeriesRenderer r = new XYSeriesRenderer();//(类似于一条线对象)
r.setColor(Color.BLUE);//设置颜色
r.setPointStyle(PointStyle.CIRCLE);//设置点的样式
r.setFillPoints(true);//填充点(显示的点是空心还是实心)
r.setDisplayChartValues(true);//将点的值显示出来
r.setChartValuesSpacing(10);//显示的点的值与图的距离
r.setChartValuesTextSize(25);//点的值的文字大小

// r.setFillBelowLine(true);//是否填充折线图的下方
// r.setFillBelowLineColor(Color.GREEN);//填充的颜色,如果不设置就默认与线的颜色一致
r.setLineWidth(3);//设置线宽
mRenderer.addSeriesRenderer(r);

XYSeriesRenderer rTwo = new XYSeriesRenderer();//(类似于一条线对象)
rTwo.setColor(Color.GRAY);//设置颜色
rTwo.setPointStyle(PointStyle.CIRCLE);//设置点的样式
rTwo.setFillPoints(true);//填充点(显示的点是空心还是实心)
rTwo.setDisplayChartValues(true);//将点的值显示出来
rTwo.setChartValuesSpacing(10);//显示的点的值与图的距离
rTwo.setChartValuesTextSize(25);//点的值的文字大小

// rTwo.setFillBelowLine(true);//是否填充折线图的下方
// rTwo.setFillBelowLineColor(Color.GREEN);//填充的颜色,如果不设置就默认与线的颜色一致
rTwo.setLineWidth(3);//设置线宽

mRenderer.addSeriesRenderer(rTwo);

第四步:生成图view
GraphicalView view = ChartFactory.getLineChartView(this, mDataset, mRenderer);
view.setBackgroundColor(Color.BLACK);

时间: 2024-08-10 23:28:05

android使用achartengine 实现折线图的相关文章

Android通过achartengine画折线图

因为前段时间Android项目中用到了折线图的功能,在查资料的过程中发现achartengine这个包有非常强大的画图功能,正好最近有时间,就整理一下方便以后查看. 首先要使用画图功能,就必须在lib中引入achartengine包.为了使用方便,直接使用示例中的两个文件,源码如下: IDemoChart.java import android.content.Context; import android.content.Intent; /** * Defines the demo chart

Android 用achartengine 画折线图怎么显示不正确

============问题描述============ X.Y的刻度值都是我自己定义的 显示的点的位置不正确 请问是什么原因 怎么处理  还有我设置了显示网格 为什么不显示了 Y轴不设置自己的定义的刻度值 但是刻度个数又不对 这种情况显示是正确的就是刻度个数不够 ============解决方案1============ 属性设置不对,找个demo仔细看看设置,看自己哪里设置不对. ============解决方案2============ 我以前整理的一个曲线图,我共享下,你下载看看,里面东

Android自定义控件 -Canvas绘制折线图(实现动态报表效果)

有时候我们在项目中会遇到使用折线图等图形,Android的开源项目中为我们提供了很多插件,但是很多时候我们需要根据具体项目自定义这些图表,这一篇文章我们一起来看看如何在Android中使用Canvas绘制折线图.先看看绘制的效果: 代码: public class MyView extends View { //坐标轴原点的位置 private int xPoint=60; private int yPoint=260; //刻度长度 private int xScale=8;  //8个单位构

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

最近在帮老师做一个课题,其中app端需要显示折线图以便直观地看数据波动,上网查了些资料后发现了这款图标引擎,另外感谢李坤老师的博客,帮助很大. 废话不多说,下面写代码. 一.AChartEngine是一款非常强大的绘图引擎,不过我这里只需用到折线图,所以并没有其他图的使用.首先我们要导入achartengine-xxx.jar,我这里使用的是achartengine-0.7.0.jar. 二.工欲善其事,必先利其器.由于在项目中需要使用图表的地方不止一处,我根据自己实际所需情况先封了个工具类.

AChartEngine 安卓折线图 柱形图等利器

http://www.eoeandroid.com/thread-548233-1-6.html 最近公司项目中要用到折线图,状态类型的图标要用到折线图,柱形图等,并且能够动态显示,在网上找了许多demo,基本上都是写死的数据,下面先让我们看看AChartEngine的介绍 AChartEngine 运行示例图 : 每个图表都需要一个数据集 (Dataset) 和 渲染器集合 (Renderer); -- 数据集 : 又由许多数据组成, -- 渲染器 : 也由不同的子渲染器组成, -- 获取Ac

achartengine之折线图

跟饼图很相似... 相关类 dataset:是一个XYMultipleSeriesDataset对象 可以理解为一个数据集 XYSeries:可以理解为一条线上的数据 也就是点 mRenderer:XYMultipleSeriesRenderer  渲染器用来控制表图的外观  是继承于DefaultRenderer XYSeriesRenderer:可以理解为没一条线的外观...跟一个XYSeries相对应 GraphicalView  mChartView = ChartFactory.get

Android自定义view:折线图(附带动画效果)

package com.chk.uefa.thirdviews; import android.content.Context;import android.graphics.Canvas;import android.graphics.Paint;import android.os.AsyncTask;import android.os.Handler;import android.os.Message;import android.util.AttributeSet;import andro

Android - 折线图

使用Android的canvas,画折线图:代码为: package spt.view; import android.annotation.SuppressLint; import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.DashPathEffect; import android.graphics.Paint;

Android画折线图、柱状图、饼图(使用achartengine.jar)

自从用了画折线的jar包之后,就不想再用canvas画布去画了,编程就是要站在巨人的肩膀上. 所需要的jar包achartenginejar 折线代码布局文件就不上传了很简单 另一种线的渲染器 扇形图代码 柱状图代码 属性总结部分代码 新测试代码下载地址 所需要的jar包:achartengine.jar 下载地址:http://download.csdn.net/detail/zhengyikuangge/9460642 折线代码(布局文件就不上传了,很简单): package com.exa