Android achartengine timerchart曲线动态左移(横轴为当前时间)

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

你可能感兴趣的:(android,achartengine,timerchar,横轴为当前时间,t曲线动态左移)