跳至主要内容

largestTriangleThreeBuckets

最大三角形三桶 算法应用于输入数据。 该算法用于对时间序列数据进行下采样以进行可视化。 它旨在对按 x 坐标排序的序列进行操作。 它通过将排序的序列分成桶,然后在每个桶中找到最大的三角形来工作。 桶的数量等于结果序列中的点数。 该函数将按 x 对数据进行排序,然后对排序后的数据应用下采样算法。

语法

largestTriangleThreeBuckets(n)(x, y)

别名:lttb

参数

NaN 在提供的序列中被忽略,这意味着任何 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)] │
└───────────────────────────────────────────────────────┘