largestTriangleThreeBuckets
将 Largest-Triangle-Three-Buckets 算法应用于输入数据。该算法用于对时间序列数据进行降采样以进行可视化。它旨在处理按 x 坐标排序的序列。它的工作原理是将排序后的序列划分为 buckets,然后在每个 bucket 中找到最大的三角形。bucket 的数量等于结果序列中点的数量。该函数将按 x
对数据进行排序,然后将降采样算法应用于排序后的数据。
语法
largestTriangleThreeBuckets(n)(x, y)
别名:lttb
。
参数
x
— x 坐标。 Integer , Float , Decimal , Date, Date32, DateTime, DateTime64。y
— y 坐标。 Integer , Float , Decimal , Date, Date32, DateTime, DateTime64。
NaNs 在提供的序列中被忽略,这意味着任何 NaN 值都将从分析中排除。这确保了该函数仅对有效的数值数据进行操作。
参数
n
— 结果序列中的点数。 UInt64。
返回值
示例
输入表
┌─────x───────┬───────y──────┐
│ 1.000000000 │ 10.000000000 │
│ 2.000000000 │ 20.000000000 │
│ 3.000000000 │ 15.000000000 │
│ 8.000000000 │ 60.000000000 │
│ 9.000000000 │ 55.000000000 │
│ 10.00000000 │ 70.000000000 │
│ 4.000000000 │ 30.000000000 │
│ 5.000000000 │ 40.000000000 │
│ 6.000000000 │ 35.000000000 │
│ 7.000000000 │ 50.000000000 │
└─────────────┴──────────────┘
查询
SELECT largestTriangleThreeBuckets(4)(x, y) FROM largestTriangleThreeBuckets_test;
结果
┌────────largestTriangleThreeBuckets(4)(x, y)───────────┐
│ [(1,10),(3,15),(9,55),(10,70)] │
└───────────────────────────────────────────────────────┘