algorithm - 减少图的数据点,同时保持其主要特征
问题描述
我有大量数据,需要在图表上重复显示。
该图的宽度为 1400 像素。数据包含超过 30,000 个数据点。因此,我想将数据点减少到大约 1400 个左右,同时仍保持图形的主要特征(最大值、最小值等)。
如果您查看 LabVIEW 和 MATLAB 等程序,它们能够通过压缩数据来显示包含大量数据点的图形,而不会丢失图形的主要功能。我无法使用简单的抽取、平均或移动平均,因为这不会保持图表的特征。
有谁知道这些程序正在使用任何算法,或者会给我预期的结果?我也对性能算法感兴趣。
解决方案
LabVIEW使用最大-最小抽取算法。
正如您从参考资料中看到的那样,一系列数据点被压缩为最大值和最小值,然后将两个点绘制在相同的 x 轴值上,并填充两个点之间的垂直像素。
如果您无法控制绘图的每个像素的渲染方式,那么您可以尝试实现类似的方法,例如取 8 个点,找到最大值和最小值,然后将它们传递给绘图函数/工具(占它们在系列中出现的顺序) - 为您提供四倍的抽取因子。
推荐阅读
- sql - 关联没有重复结果的三列查询
- python - 排除日期字段的df行:时间/秒在特定时期之间
- c# - 使用 Polly.Net 的嵌套重试和断路器策略的意外行为
- android - 如何使用 AccessibilityService 收听软键盘点击?
- maven - 显式定义可被 intellij 和 maven 接受的项目源以进行项目设置
- ios - react-navigation 安装导致构建失败
- python - 如何在时间范围内识别虚拟变量的变化?
- vue.js - 从数组中的任何位置删除复选框项
- android-studio - 使用 openGL ES 绘制多个 AR 对象
- c++ - 电费项目