跳到主要内容
跳到主要内容

largestTriangleThreeBuckets

Largest-Triangle-Three-Buckets 算法应用于输入数据。 该算法用于对时间序列数据进行降采样,以便进行可视化。它被设计为在按 x 坐标排序的序列上运行。 其工作方式是将已排序的序列划分为多个桶,然后在每个桶中找到面积最大的三角形。桶的数量等于结果序列中的点数。 该函数会先按 x 对数据进行排序,然后对排序后的数据应用降采样算法。

语法

largestTriangleThreeBuckets(n)(x, y)

别名:lttb

参数

在给定序列中,NaN 值会被忽略,即所有 NaN 值都会从分析中排除,从而确保函数仅在有效的数值数据上运行。

参数

  • n — 结果序列中的点数。UInt64

返回值

由包含两个元素的 Tuple 组成的 Array

示例

输入表:

┌─────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)]              │
└───────────────────────────────────────────────────────┘