Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

largestTriangleThreeBuckets

largestTriangleThreeBuckets

引入版本:v23.10.0

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

给定序列中的 NaN 会被忽略,也就是说,任何 NaN 值都不会纳入分析。 这可确保该函数仅处理有效的数值数据。

语法

largestTriangleThreeBuckets(n)(x, y)

别名: lttb

参数

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

输入参数

返回值

返回由包含两个元素的元组组成的数组。Array(Tuple(Float64, Float64))

示例

对时间序列数据进行降采样

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;
┌─largestTriangleThreeBuckets(4)(x, y)─┐
│ [(1,10),(3,15),(9,55),(10,70)]       │
└──────────────────────────────────────┘
Navigation