> ## 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.

> Aplica o algoritmo Largest-Triangle-Three-Buckets aos dados de entrada.

# largestTriangleThreeBuckets

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

Introduzido em: v23.10.0

Aplica o algoritmo [Largest-Triangle-Three-Buckets](https://skemman.is/bitstream/1946/15343/3/SS_MSthesis.pdf) aos dados de entrada.
O algoritmo é usado para fazer a subamostragem de séries temporais para visualização.
Ele foi projetado para operar sobre séries ordenadas pela coordenada x.
Ele funciona dividindo a série ordenada em buckets e, em seguida, encontrando o maior triângulo em cada bucket.
O número de buckets é igual ao número de pontos na série resultante.
A função ordenará os dados por `x` e, em seguida, aplicará o algoritmo de subamostragem aos dados ordenados.

Os NaNs são ignorados na série fornecida, o que significa que quaisquer valores NaN serão excluídos da análise.
Isso garante que a função opere apenas sobre dados numéricos válidos.

**Sintaxe**

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

**Aliases**: `lttb`

**Parâmetros**

* `n` — Número de pontos na série resultante. [`UInt64`](/pt-BR/reference/data-types/int-uint)

**Argumentos**

* `x` — coordenada x. [`(U)Int*`](/pt-BR/reference/data-types/int-uint) ou [`Float*`](/pt-BR/reference/data-types/float) ou [`Decimal`](/pt-BR/reference/data-types/decimal) ou [`Date`](/pt-BR/reference/data-types/date) ou [`Date32`](/pt-BR/reference/data-types/date32) ou [`DateTime`](/pt-BR/reference/data-types/datetime) ou [`DateTime64`](/pt-BR/reference/data-types/datetime64)
* `y` — coordenada y. [`(U)Int*`](/pt-BR/reference/data-types/int-uint) ou [`Float*`](/pt-BR/reference/data-types/float) ou [`Decimal`](/pt-BR/reference/data-types/decimal) ou [`Date`](/pt-BR/reference/data-types/date) ou [`Date32`](/pt-BR/reference/data-types/date32) ou [`DateTime`](/pt-BR/reference/data-types/datetime) ou [`DateTime64`](/pt-BR/reference/data-types/datetime64)

**Valor retornado**

Retorna um array de tuplas com dois elementos. [`Array(Tuple(Float64, Float64))`](/pt-BR/reference/data-types/array)

**Exemplos**

**Redução de amostragem de dados de séries temporais**

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