跳转到主要内容

largestTriangleThreeBuckets

引入版本:v23.10.0 Largest-Triangle-Three-Buckets 算法应用于输入数据。 该算法用于对时间序列数据进行降采样,以便进行可视化。 它专为处理按 x 坐标排序的序列而设计。 其工作原理是将已排序的序列划分为多个桶,然后在每个桶中找出面积最大的三角形。 桶的数量等于结果序列中的点数。 该函数会先按 x 对数据排序,然后对排序后的数据应用降采样算法。 给定序列中的 NaN 会被忽略,也就是说,任何 NaN 值都不会纳入分析。 这可确保该函数仅处理有效的数值数据。 语法
largestTriangleThreeBuckets(n)(x, y)
别名: lttb 参数
  • n — 结果序列中的点数。UInt64
输入参数 返回值 返回由包含两个元素的元组组成的数组。Array(Tuple(Float64, Float64)) 示例 对时间序列数据进行降采样
Query
CREATE TABLE largestTriangleThreeBuckets_test (x Float64, y Float64) ENGINE = Memory;
INSERT INTO largestTriangleThreeBuckets_test VALUES
    (1.0, 10.0), (2.0, 20.0), (3.0, 15.0), (8.0, 60.0), (9.0, 55.0),
    (10.0, 70.0), (4.0, 30.0), (5.0, 40.0), (6.0, 35.0), (7.0, 50.0);

SELECT largestTriangleThreeBuckets(4)(x, y) FROM largestTriangleThreeBuckets_test;
Response
┌────────largestTriangleThreeBuckets(4)(x, y)───────────┐
│           [(1,10),(3,15),(9,55),(10,70)]              │
└───────────────────────────────────────────────────────┘
最后修改于 2026年6月10日