Achartengine画分段动态曲线
来源:互联网 发布:淘宝卖家账号多少钱 编辑:程序博客网 时间:2024/05/01 00:21
最近实验室做到的项目,需要在手机上实时显示从WIFI模块传过来的频谱数据,通过对比网上图库,最终选了achartengine,经过这两天的研究终于搞定,在此与大家分享。
频谱图的要求如下:
1,由于是实时数据,因此需要曲线能动态更新;
2,数据上传的速度不快,中间还有可能缺失,因此需要分段显示
3,横坐标轴是随着用户输入频率的范围的变化而变化
解决动态更新:使用了timeTak和handler的结合,定时扫描,定时重绘,其中update()是重回函数
handler = new Handler() { @Override public void handleMessage(Message msg) { // 刷新图表 updateChart(); super.handleMessage(msg); } }; task = new TimerTask() { @Override public void run() { Message message = new Message(); message.what = 1; handler.sendMessage(message); } }; timer.schedule(task, 1000, 1000);
解决分段画的画法:
XYMultipleSeriesDataset,XYMultipleSeriesRenderer分别是画线的点集数据容器和线条的颜色渲染,查看官网API发现他们是可以存放数组的;
分段刷新的思路:将指定的曲线取出,换成要刷新的数据,再重新添加到数据集的指定位置;
series=mDataset.getSeriesAt(data[0] - 1); //找到数据容器中对应的曲线,
mDataset.removeSeries(data[0] - 1);//将该曲线移除
series.clear();//清除数据点集,为新数据做准备
//填入新的数据
for (int k = 0; k < 1024; k++) {
series.add(xv[k], yv[k]);
}
// 在数据集中添加新的点集
mDataset.addSeries(data[0] - 1, series);//最后将拥有新数据的曲线凡在指定位置
最后完成刷新:chart.invalidate();
附上代码示例地址:http://download.csdn.net/detail/sangsa/9416765
- Achartengine画分段动态曲线
- 用AchartEngine画简单的动态曲线
- achartengine 曲线动态左移
- 使用AChartEngine画动态曲线图
- 使用AChartEngine画动态曲线图
- achartengine实现平滑曲线
- Android achartengine timerchart曲线动态左移(横轴为当前时间)
- Android achartengine timerchart曲线动态左移(横轴为当前时间)
- Android achartengine timerchart曲线动态左移(横轴为当前时间)
- VC++画动态曲线
- 曲线分段绘制
- 动态分段
- AChartEngine实现Android实时曲线绘制
- AChartEngine实现Android实时曲线绘制
- achartengine曲线代码报错问题
- achartengine画出动态折线图
- achartengine画出动态折线图
- achartengine画出动态折线图
- 模板化基类内寻找继承而来的名称的问题
- CefSharp(三)屏蔽右键菜单
- C++类型转换
- 基础训练 完美的代价(贪心算法)
- 如何解决PHP里大量数据循环时内存耗尽的问题
- Achartengine画分段动态曲线
- C/C++区别
- apue.h 源码
- IntelliJ IDEA 使用心得与常用快捷键
- 文章标题
- 史上最全Java集合关系图
- hdu 2537 8球胜负
- CALayer - 13
- mac电脑配置adb环境