Android achartengine timerchart曲线动态左移(横轴为当前时间)
2014-03-05 22:20
555 查看
zjk program
//更新折线图
private void updatechart() {
//判断当前点集中到底有多少点,因为屏幕总共只能容纳5个,所以当点数超过5时,长度永远是5
int length=series.getItemCount();
int a=length;
if(length>5){
length=5;
}
addX=new Date().getTime();
addY = (float)(Math.random()*10);
//移除数据集中旧的点集
dataset1.removeSeries(series);
if(a<5)//当数据集中不够五个点的时候直接添加就好,因为初始化的时候只有一个点,所以前几次更新的时候直接添加
{
series.add(new Date(addX), addY);
}
else //超过了五个点要去除xcache【0】换成【1】的.....
{
//将旧的点集中x和y的数值取出来放入backup中,造成曲线向左平移的效果
for(int i =0 ;i
xcache[i] =new Date((long)series.getX(i+1));
ycache[i]=(float) series.getY(i+1);
}
//点集先清空,为了做成新的点集而准备
series.clear();
//将新产生的点首先加入到点集中,然后在循环体中将坐标变换后的一系列点都重新加入到点集中
for(int k =0 ;k
series.add(xcache[k], ycache[k]);
}
series.add(new Date(addX), addY);
}
//在数据集中添加新的点集
dataset1.addSeries(series);
//视图更新,没有这一步,曲线不会呈现动态
chart.invalidate();
}
//更新折线图
private void updatechart() {
//判断当前点集中到底有多少点,因为屏幕总共只能容纳5个,所以当点数超过5时,长度永远是5
int length=series.getItemCount();
int a=length;
if(length>5){
length=5;
}
addX=new Date().getTime();
addY = (float)(Math.random()*10);
//移除数据集中旧的点集
dataset1.removeSeries(series);
if(a<5)//当数据集中不够五个点的时候直接添加就好,因为初始化的时候只有一个点,所以前几次更新的时候直接添加
{
series.add(new Date(addX), addY);
}
else //超过了五个点要去除xcache【0】换成【1】的.....
{
//将旧的点集中x和y的数值取出来放入backup中,造成曲线向左平移的效果
for(int i =0 ;i
xcache[i] =new Date((long)series.getX(i+1));
ycache[i]=(float) series.getY(i+1);
}
//点集先清空,为了做成新的点集而准备
series.clear();
//将新产生的点首先加入到点集中,然后在循环体中将坐标变换后的一系列点都重新加入到点集中
for(int k =0 ;k
series.add(xcache[k], ycache[k]);
}
series.add(new Date(addX), addY);
}
//在数据集中添加新的点集
dataset1.addSeries(series);
//视图更新,没有这一步,曲线不会呈现动态
chart.invalidate();
}
相关文章推荐
- android 绘制折线图(AChartEngine)Linechart静态的
- 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组件应用