Android使用统计图AChartEngine 来展示数据
本文采用的统计图参考:AChartEngine
访问地址 :http://code.google.com/p/achartengine/
先给出效果图
本文的开发代码主要是这些:对一些代码进行修改
以下文件是直接使用官方下载后
这些主要是对文件【WeightTimeChart.java】做了修改
/** * WeightTimeChart.java * 版权所有(C) 2013 * 创建:cuiran 2013-10-24 下午4:11:28 */ package com.cayden.weightnotes.achartengine; import java.util.Date; import java.util.Random; import org.achartengine.ChartFactory; import org.achartengine.chart.PointStyle; import org.achartengine.chart.TimeChart; import org.achartengine.model.TimeSeries; import org.achartengine.model.XYMultipleSeriesDataset; import org.achartengine.renderer.SimpleSeriesRenderer; import org.achartengine.renderer.XYMultipleSeriesRenderer; import org.achartengine.renderer.XYSeriesRenderer; import com.cayden.weightnotes.util.VeDate; import android.content.Context; import android.content.Intent; import android.graphics.Color; /** * TODO 折线图 * @author cuiran * @version 1.0.0 */ public class WeightTimeChart extends AbstractDemoChart { private static final int SERIES_NR = 1; /* (non-Javadoc) * @see com.cayden.weightnotes.achartengine.IDemoChart#getName() */ @Override public String getName() { // TODO Auto-generated method stub return "WeightTimeChart"; } /* (non-Javadoc) * @see com.cayden.weightnotes.achartengine.IDemoChart#getDesc() */ @Override public String getDesc() { // TODO Auto-generated method stub return "WeightTimeChart"; } private XYMultipleSeriesDataset getDateDemoDataset() { XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset(); final int nr = 7; long value = new Date().getTime() - 3 * TimeChart.DAY; Random r = new Random(); for (int i = 0; i < SERIES_NR; i++) { TimeSeries series = new TimeSeries("体重变化趋势 "); series.add(VeDate.strToDate("2013-10-19"), 85.3); series.add(VeDate.strToDate("2013-10-20"), 85.6); series.add(VeDate.strToDate("2013-10-21"), 84.5); series.add(VeDate.strToDate("2013-10-22"), 85.0); series.add(VeDate.strToDate("2013-10-23"), 85.1); series.add(VeDate.strToDate("2013-10-24"), 85.3); series.add(VeDate.strToDate("2013-10-25"), 85.3); series.add(VeDate.strToDate("2013-10-26"), 85.3); // for (int k = 0; k < nr; k++) { // series.add(new Date(value + k * TimeChart.DAY / 4), 20 + r.nextInt() % 100); // } dataset.addSeries(series); } return dataset; } private XYMultipleSeriesRenderer getDemoRenderer() { XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer(); renderer.setAxisTitleTextSize(19); renderer.setChartTitleTextSize(23); renderer.setLabelsTextSize(18); renderer.setLegendTextSize(18); renderer.setPointSize(6f); //in this order: top, left, bottom, right renderer.setMargins(new int[] {20, 30, 15, 0}); XYSeriesRenderer r = new XYSeriesRenderer(); r = new XYSeriesRenderer(); r.setPointStyle(PointStyle.CIRCLE); r.setColor(Color.GREEN); r.setFillPoints(true); renderer.addSeriesRenderer(r); renderer.setAxesColor(Color.DKGRAY); renderer.setLabelsColor(Color.LTGRAY); renderer.setChartTitle("体重变化趋势"); renderer.setXTitle("日期"); renderer.setYTitle("体重(kg)"); renderer.setZoomButtonsVisible(true); int length = renderer.getSeriesRendererCount(); for (int i = 0; i < length; i++) { SimpleSeriesRenderer seriesRenderer = renderer.getSeriesRendererAt(i); seriesRenderer.setDisplayChartValues(true); } return renderer; } /* (non-Javadoc) * @see com.cayden.weightnotes.achartengine.IDemoChart#execute(android.content.Context) */ @Override public Intent execute(Context context) { // TODO Auto-generated method stub return ChartFactory.getTimeChartIntent(context, getDateDemoDataset(), getDemoRenderer(), "yyyy-MM-dd"); } }
如何调用呢?需要先获取对象参考提供的demo
private IDemoChart[] mCharts = new IDemoChart[] {new WeightDialChart(), new WeightTimeChart()};
Intent intent=mCharts[1].execute(this); startActivity(intent);
如果直接这样运行会报错
需要在配置文件中添加代码:
<activity android:name="org.achartengine.GraphicalActivity" />
以上是针对如何使用AChartEngine 进行了大概说明。不要忘记看提供的API,里面有很多方法哦!
Android使用统计图AChartEngine 来展示数据的更多相关文章
- 在Android上用AChartEngine轻松绘制图表
本文由 伯乐在线 - LeonHover 翻译.未经许可,禁止转载!英文出处:jaxenter.欢迎加入翻译组. Android发布不久的2008年底,开发者们已经开始寻找制表.制图.绘图的工具库.当 ...
- Android实现图表绘制和展示
本文演示在Android平台中绘制和展示图表示例,本示例是基于RChart 2实现的. 在一个系统中经常要用到图表统计数据,在WEB开发中图表绘制是一件简单的事情,因为有比较多的开源方案.但在Andr ...
- 使用UITableView展示数据
TableView主要用于展示数据,类似于Android中的ListView. 我们可以通过两个方式使用TableView.第一种是直接使用TableView类.第二种是通过UITableViewCo ...
- Android中图表AChartEngine学习使用与例子
很多时候项目中我们需要对一些统计数据进行绘制表格,更多直观查看报表分析结果.基本有以下几种方法: 1:可以进行android api进行draw这样的话,效率比较低 2:使用开源绘表引擎,这样效率比 ...
- 50个Android开发技巧(24 处理ListView数据为空的情况)
在移动平台上为用户展示数据的一个经常用法是将数据填充进一个List内,而此时须要注意的一点就是: 原文地址:(http://blog.csdn.net/vector_yi/article/d ...
- Android学习之 AChartEngine 图表绘制
Android 开源图表绘制工具AChartEngine地址:http://code.google.com/p/achartengine/ AChartEngine Android实现图表绘制和展示( ...
- (转载)Android之三种网络请求解析数据(最佳案例)
[置顶] Android之三种网络请求解析数据(最佳案例) 2016-07-25 18:02 4725人阅读 评论(0) 收藏 举报 分类: Gson.Gson解析(1) 版权声明:本文为博主原创 ...
- flask+layui+echarts实现前端动态图展示数据
效果图: 该效果主要实现一个table展示数据,并在下方生成一个折线图. 实现方式: 1.首先需要对表格进行一个数据加载,这里用到了layui的table.render,具体用法可以参考 https: ...
- PHP+Mysql+jQuery实现地图区域数据统计-展示数据
我们要在地图上有限的区块内展示更多的信息,更好的办法是通过地图交互来实现.本文将给大家讲解通过鼠标滑动到地图指定省份区域,在弹出的提示框中显示对应省份的数据信息.适用于数据统计和地图区块展示等场景. ...
随机推荐
- Xcode7.3.1中SKAudioNode在Scene转换后无声的问题
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 在新的Xcode中之前可以正常运行的SKAudioNode代码 ...
- ISP(Interface Segregation Principle),接口隔离原则
ISP(Interface Segregation Principle),接口隔离原则 它要求如下: ① 一个类对另一个类的依赖性要建立在最小接口上. ② 使用多个专门的接口比使用单一的总接口要好 ...
- 10 GridView 样式属性
GridView 样式属性: 1,android:numColumns="auto_fit" 显示的列数 如果android:numColumns不设置那么自动每行1列 如下图 2 ...
- memcached实战系列(二)memcached参数以及启动
memcached启动的时候配置的参数也比较多.在这里我就做一个汇总,需要的时候直接查看参数以及参数的含义. 下面是参数的定义以及解释. 1.1.1. 参数说明 -d选项是启动一个守护进程 -m是分配 ...
- Python模块探秘之EasyGui
在Windows想用Python开发一些简单的界面,所以找到了很容易上手的EasyGui库.下面就分享一下简单的使用吧. 参考的链接:官网Tutorial 接下来,我将从简单,到复杂一点点的演示如何使 ...
- JRE System Library [JavaSE-1.7](unbound)
window > preferences > java > Install jars >如果没有jdk1.7 ,点击下面的search,会自动找到已经安装对jdk1.7,选择, ...
- 04 AutoCompleteTextView
作用:输入部分文字跳处下拉框列出相应的条目 <pre name="code" class="html"> <!-- 当文本框出现两个字符才开始 ...
- 修改GDAL库支持IRSP6数据
使用GDAL库发现不能打开IRSP6的数据,不过看GDAL提供的文件格式里面却是支持IRSP6的数据的,具体可以参考网页http://www.gdal.org/frmt_fast.html.下面图1是 ...
- Android进阶(十一)Android系统架构讲解
如果说一个成功男人的背后会有一个默默支持的女人的话,那么一个优越稳定的平台背后必有一个成熟的系统架构所支撑着.那么,Android的系统架构是怎么样的呢?从下图我们可以从整体上有个大致的了解(图片来源 ...
- 【一天一道LeetCode】#97. Interleaving String
一天一道LeetCode 本系列文章已全部上传至我的github,地址:ZeeCoder's Github 欢迎大家关注我的新浪微博,我的新浪微博 欢迎转载,转载请注明出处 (一)题目 Given s ...