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

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();

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: