flot-downsample:Flot的降采样插件
- 作者:Sveinn Steinarsson
- 特别感谢:Borgar Þorsteinsson和DataMarket
这个Flot图表插件在渲染图表之前对数据进行降采样。其目的是尝试使用大大减少的数据点来保留原始线条的视觉特征。该插件使用的算法(称为最大三角形-三桶法或LTTB)在Sveinn Steinarsson在冰岛大学的计算机科学硕士论文中有所描述(参见hdl.handle.net/1946/15343)。论文主题是如何对时间序列进行降采样以进行可视化表示,最初由DataMarket提出。JavaScript优化在Borgar Þorsteinsson的帮助下完成。
状态
Flot库现在不常用,但LTTB(最大三角形-三桶法)算法仍然广受欢迎,并已成为降采样图表数据的成熟方法。
要在其他库或框架中使用LTTB,可以参考适用于其他编程语言或框架的LTTB算法部分。
演示
可以在base.is/flot/查看演示。
有关图表调整大小的额外演示也可在base.is/flot/resize/查看。
使用方法
series: {
downsample: {
threshold: 1000 // 0禁用此系列的降采样。
}
}
已知限制
- 不支持数据数组中的空值(null值)。
- X值必须严格递增。
与算法(LTTB)相关的文章
- Uber Technologies Inc.的Benjamin Raskin和Nikunj Aggarwal撰写的十亿数据点挑战
- Peter Coppens撰写的SQL实现"最大三角形三桶"算法
- dduraz撰写的移动端大数据可视化
- Mark Troyer撰写的指标可视化的挑战
- DataMarket撰写的降采样数据 - 并非微不足道的任务(该公司被Qlik收购。由于原始博客不再可访问,链接到存档版本)
- William Ferguson撰写的在d3fc中对大型数据集进行采样
- Adrian S. Tam撰写的降采样算法
- Riccardo Binetti撰写的使用Elixir和ExLTTB更快地绘制数据而不失其形状
- Code Artist撰写的MSChart扩展中降采样算法的实现
- Jeroen & Jonas Van Der Donckt撰写的MinMaxLTTB:利用MinMax预选来扩展LTTB 为其他编程语言或框架改编的算法(LTTB)
- C# 由Daniel Judge开发
- C# 由Adrian Seeley开发
- C#中的MSChartExtension 由Code Artist开发
- Elixir 由Riccardo Binetti开发
- Go 由Damian Gryski开发
- node.js 由Matej Drolc开发
- Java 由drcrane开发
- Java8 由Guillermo Gutierrez Almazor开发
- Scala 由Graham Tackley开发
- R 由Jack Viljoen开发
- Javascript (不含flot插件) 由Josh Carr开发
- Highcarts插件 由Sveinn Steinarsson开发
- Chart.js插件 由Sean开发
- PHP 由dbojdo开发
- Python 由Olivier Devoisin开发
- Python + Numpy 由Jack Viljoen开发
- 使用C的Python 由dgoeries开发
- 使用Rust的Python 由Jeroen Van Der Donckt开发
- Perl 由troxel开发
- C++ 由parkertomatoes开发
- Ruby 由Julian Lübke开发
- Swift 由Guillaume Beal开发
- Rust 由Jerome Froelich开发
- Clojure 由Kimmo Koskinen开发
- Dart 由bnap00开发
- PL/PGSQL 由Rio Fujita开发
- PostgreSQL扩展 由Brian Rowe开发
注意: 我并未测试所有这些版本,有些可能具有不同或额外的功能。
(如果您自己移植了LTTB算法,请告诉我,以便我将其列在此处。)
许可证
flot-downsample根据MIT许可证的条款发布。