LTTB (Largest Triangle Three Buckets) 是 Swift 语言中的下采样算法。用于将时序数据下采样以显示数百万个点。
此可视化不是让用户访问成千上万个数据点在一条线上的个别值,而是展示这些数据随时间的变化和趋势。(http://blackops.io/blog/2014/05/time-series-graphs-and-downsampling/)
此算法将时序数据进行缩小,同时保留了时序的可视特征。
使用 LTTB 对时序数据进行预处理,以便在图表上显示数千个点。
与 Charts API(https://github.com/danielgindi/Charts)配合良好
要运行 LTTB 下采样器,首先从仓库克隆,然后在 LTTB 目录下运行 pod install
。
LTTB 通过 CocoaPods 提供。要安装它,只需将以下行添加到 Podfile 中
pod "LTTB"
如果您通过 CocoaPods 安装了 LTTB,则需要导入它(将此添加到源代码文件顶部某处)
import LTTB
let lttb = LTTB()
let result = lttb.downSample(dataSet: [(x: Double,y: Double)], threshold: Int)
在所有情况下,该函数将返回一个包含元组的数组(x: Double,y: Double)
[(x: Double,y: Double)]
LTTB 以 MIT 许可证提供。查看 LICENSE 文件以获取更多信息。
Guillaume Béal
原始版本由 Sveinn Steinarsson 编写(https://github.com/sveinn-steinarsson/highcharts-downsample)