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);
android使用achartengine 实现折线图的更多相关文章
- Android 使用 MPAndroidChart 实现折线图
Android 使用 MPAndroidChart 实现折线图 做Android项目的时候用到了折线图,不光折线图,还可能遇到很多的图表需要展示渲染,自己手画的话那好玩了,今天使用MPAndroidC ...
- Android图表引擎AChartEngine之折线图使用
最近在帮老师做一个课题,其中app端需要显示折线图以便直观地看数据波动,上网查了些资料后发现了这款图标引擎,另外感谢李坤老师的博客,帮助很大. 废话不多说,下面写代码. 一.AChartEngine是 ...
- Android AChartEngine 去除折线图黑边
通常使用AChartEngine画出的折线图,如果背景不是黑色,则会在折线图的坐标轴旁边出现黑边,如图所示: 试了好多设置,最后终于发现,去除黑边的设置是: mRenderer.setMarginsC ...
- AChartEngine 安卓折线图 柱形图等利器
http://www.eoeandroid.com/thread-548233-1-6.html 最近公司项目中要用到折线图,状态类型的图标要用到折线图,柱形图等,并且能够动态显示,在网上找了许多de ...
- achartengine之折线图
问题在文章的最后,大致说来就是折线图,如果点的个数大于3个的时候,不是所有的点都显示对应的值的,这是为什么呢,本来以为是小问题,但两天了还没找到原因) 将前两天的折线图代码做了小量修改,形成一个类似于 ...
- Android自定义控件 -Canvas绘制折线图(实现动态报表效果)
有时候我们在项目中会遇到使用折线图等图形,Android的开源项目中为我们提供了很多插件,但是很多时候我们需要根据具体项目自定义这些图表,这一篇文章我们一起来看看如何在Android中使用Canvas ...
- AChartEngine折线图实例
最近做项目要用到图表,在网上找相关的解决方案找了很久,搜到最多的就是这个框架,所以就开始研究下怎么使用,首先研究的就是折线图,如是做了一个实例. AChartEngine下载地址:http://cod ...
- Android - 折线图
使用Android的canvas,画折线图:代码为: package spt.view; import android.annotation.SuppressLint; import android. ...
- Android自定义折线图
老师布置了个作业:http://www.cnblogs.com/qingxu/p/5316897.html 作业中提到的 “玩了几天以后,大家发现了一些很有意思的现象,比如黄金点在逐渐地往下移动.” ...
随机推荐
- 线段树 求区间连乘——hdu 3074 Multiply game
Multiply game Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Tot ...
- 内功心法 -- java.util.LinkedList<E> (4)
写在前面的话:读书破万卷,编码如有神--------------------------------------------------------------------下文主要对java.util ...
- Python,JAVA中子类的构造函数与父类构造函数的关系
Python: 子类不重载.覆盖父类的构造函数(子类不自己定义构造函数),则构造子类时会调用父类构造函数 若子类覆盖了父类的构造函数,则构造子类时不执行父类的构造函数,但仍继承了父类,如需调用父类构造 ...
- SDRAM interface slashes pin count
Many designs need deep buffering but don't require ultrahigh-memory bandwidth. Examples include imag ...
- RTL8188EUS带天线的WiFi模块
http://www.liuliutech.com/ProductShow.asp?ID=121 一,公司介绍瑞昱(REALTEK)半导体成立于1987年,位于台湾[硅谷]的新竹科学园区.凭借着7位创 ...
- jdk1.8 foreach
lambda 表达式效率非常低,测试代码可以看到大概3~5倍的差距 遍历Map的方式有很多,通常场景下我们需要的是遍历Map中的Key和Value,那么推荐使用的: public static voi ...
- nginx实现openfire负载均衡
Nginx版本必须是1.9以上,不然不支持tcp连接,要么加入其他插件 在nginx.conf文件中加入下图中的代码,图中的ip与端口配成自己的,配置好后,客户端请求listen监听的端口,ip为ng ...
- Java自定义Exception
国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...
- Unity3D面试题总结
一.什么是渲染管道? 是指在显示器上为了显示出图像而经过的一系列必要操作. 渲染管道中的很多步骤,都要将几何物体从一个坐标系中变换到另一个坐标系中去. 主要步骤有: 本地坐标->视图坐标-> ...
- jquery显示、隐藏div的方法
$("#top_notice").css("display", "block");//第1种方法 //$("#top_notice ...