> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-mintlify-8a08bda2.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> 对输入数据应用 Largest-Triangle-Three-Buckets 算法。

# largestTriangleThreeBuckets

<div id="largestTriangleThreeBuckets">
  ## largestTriangleThreeBuckets
</div>

引入版本：v23.10.0

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

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

**语法**

```sql theme={null}
largestTriangleThreeBuckets(n)(x, y)
```

**别名**: `lttb`

**参数**

* `n` — 结果序列中的点数。[`UInt64`](/zh/reference/data-types/int-uint)

**输入参数**

* `x` — x 坐标。[`(U)Int*`](/zh/reference/data-types/int-uint) 或 [`Float*`](/zh/reference/data-types/float) 或 [`Decimal`](/zh/reference/data-types/decimal) 或 [`Date`](/zh/reference/data-types/date) 或 [`Date32`](/zh/reference/data-types/date32) 或 [`DateTime`](/zh/reference/data-types/datetime) 或 [`DateTime64`](/zh/reference/data-types/datetime64)
* `y` — y 坐标。[`(U)Int*`](/zh/reference/data-types/int-uint) 或 [`Float*`](/zh/reference/data-types/float) 或 [`Decimal`](/zh/reference/data-types/decimal) 或 [`Date`](/zh/reference/data-types/date) 或 [`Date32`](/zh/reference/data-types/date32) 或 [`DateTime`](/zh/reference/data-types/datetime) 或 [`DateTime64`](/zh/reference/data-types/datetime64)

**返回值**

返回由包含两个元素的元组组成的数组。[`Array(Tuple(Float64, Float64))`](/zh/reference/data-types/array)

**示例**

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

```sql title=Query theme={null}
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 title=Response theme={null}
┌────────largestTriangleThreeBuckets(4)(x, y)───────────┐
│           [(1,10),(3,15),(9,55),(10,70)]              │
└───────────────────────────────────────────────────────┘
```
