achartengine 曲线动态左移
来源:互联网 发布:在淘宝产品搜索量最高 编辑:程序博客网 时间:2024/05/22 02:17
修改自http://blog.csdn.net/chenpig/article/details/7352611
private void updateChart() {
//设置好下一个需要增加的节点
addX = 0;
addY = (int)(Math.random() * 90);
//移除数据集中旧的点集
mDataset.removeSeries(series);
//判断当前点集中到底有多少点,因为屏幕总共只能容纳100个,所以当点数超过100时,长度永远是100
int length = series.getItemCount();
if (length > 100) {
length = 100;
}
gCount++;
if (gCount < 100)
{//100个点以内的,直接添加进去就行
series.add(length+1, addY);
Log.e("ddd", "gCount:"+gCount+" series.getItemCount:"+series.getItemCount());
}
else
{ //超过100,要去除第一个点,整体左移一个,在100点处添加新的点
//将旧的点集中x和y的数值取出来放入backup中,并且将x的值减1,造成曲线向左平移的效果
for (int i = 0; i < length-1; i++) {
xv[i] = ((int) series.getX(i+1))-1;
yv[i] = (int) series.getY(i+1);
}
//点集先清空,为了做成新的点集而准备
series.clear();
//将新产生的点首先加入到点集中,然后在循环体中将坐标变换后的一系列点都重新加入到点集中
//这里可以试验一下把顺序颠倒过来是什么效果,即先运行循环体,再添加新产生的点
for (int k = 0; k < length-1; k++) {
series.add(xv[k], yv[k]);
}
series.add(100, addY);//在100点处添加新的点
}
//在数据集中添加新的点集
mDataset.addSeries(series);
//视图更新,没有这一步,曲线不会呈现动态
//如果在非UI主线程中,需要调用postInvalidate(),具体参考api
chart.invalidate();
}
private void updateChart() {
//设置好下一个需要增加的节点
addX = 0;
addY = (int)(Math.random() * 90);
//移除数据集中旧的点集
mDataset.removeSeries(series);
//判断当前点集中到底有多少点,因为屏幕总共只能容纳100个,所以当点数超过100时,长度永远是100
int length = series.getItemCount();
if (length > 100) {
length = 100;
}
gCount++;
if (gCount < 100)
{//100个点以内的,直接添加进去就行
series.add(length+1, addY);
Log.e("ddd", "gCount:"+gCount+" series.getItemCount:"+series.getItemCount());
}
else
{ //超过100,要去除第一个点,整体左移一个,在100点处添加新的点
//将旧的点集中x和y的数值取出来放入backup中,并且将x的值减1,造成曲线向左平移的效果
for (int i = 0; i < length-1; i++) {
xv[i] = ((int) series.getX(i+1))-1;
yv[i] = (int) series.getY(i+1);
}
//点集先清空,为了做成新的点集而准备
series.clear();
//将新产生的点首先加入到点集中,然后在循环体中将坐标变换后的一系列点都重新加入到点集中
//这里可以试验一下把顺序颠倒过来是什么效果,即先运行循环体,再添加新产生的点
for (int k = 0; k < length-1; k++) {
series.add(xv[k], yv[k]);
}
series.add(100, addY);//在100点处添加新的点
}
//在数据集中添加新的点集
mDataset.addSeries(series);
//视图更新,没有这一步,曲线不会呈现动态
//如果在非UI主线程中,需要调用postInvalidate(),具体参考api
chart.invalidate();
}
0 0
- achartengine 曲线动态左移
- Android achartengine timerchart曲线动态左移(横轴为当前时间)
- Android achartengine timerchart曲线动态左移(横轴为当前时间)
- Android achartengine timerchart曲线动态左移(横轴为当前时间)
- Achartengine画分段动态曲线
- 用AchartEngine画简单的动态曲线
- achartengine实现平滑曲线
- AChartEngine实现Android实时曲线绘制
- AChartEngine实现Android实时曲线绘制
- achartengine曲线代码报错问题
- achartengine画出动态折线图
- achartengine画出动态折线图
- achartengine画出动态折线图
- achartengine画出动态折线图
- Android achartengine 动态展示数据
- 使用AChartEngine画动态曲线图
- 使用AChartEngine画动态曲线图
- AChartEngine图标库之动态柱状图
- JAVA中八种基本数据类型的默认值
- Android 版本的更新
- WPF画刷、形状和变换学习笔记
- linux maven安装及 eclipse maven插件安装
- Sundy Android高级应用课程
- achartengine 曲线动态左移
- Servlet的简单使用
- oracle实例名,数据库名,服务名等概念区别与联系
- 《高效学习OpenGL》 之 深度测试 遮挡查询 glDepthFunc(), glGenQueries(), glBeginQuery(), glGetQueryObjectiv()
- 哪些行业会被手机干掉
- tftp on busybox usage
- 【C++】PAT(advanced level)1046. Shortest Distance (20)
- MAC下使用PhoneGap
- oracle内置函数整理