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