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

> Applique l’algorithme Largest-Triangle-Three-Buckets aux données en entrée.

# largestTriangleThreeBuckets

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

Introduit dans : v23.10.0

Applique l’algorithme [Largest-Triangle-Three-Buckets](https://skemman.is/bitstream/1946/15343/3/SS_MSthesis.pdf) aux données d’entrée.
Cet algorithme est utilisé pour le sous-échantillonnage de séries temporelles à des fins de visualisation.
Il est conçu pour fonctionner sur des séries triées selon la coordonnée x.
Il consiste à diviser la série triée en groupes, puis à trouver le plus grand triangle dans chaque groupe.
Le nombre de groupes est égal au nombre de points dans la série résultante.
La fonction trie les données par `x`, puis applique l’algorithme de sous-échantillonnage aux données triées.

Les NaN sont ignorés dans la série fournie, ce qui signifie que toutes les valeurs NaN sont exclues de l’analyse.
Cela garantit que la fonction ne traite que des données numériques valides.

**Syntaxe**

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

**Alias** : `lttb`

**Paramètres**

* `n` — Nombre de points dans la série résultante. [`UInt64`](/fr/reference/data-types/int-uint)

**Arguments**

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

**Valeur renvoyée**

Renvoie un tableau de tuples à deux éléments. [`Array(Tuple(Float64, Float64))`](/fr/reference/data-types/array)

**Exemples**

**Sous-échantillonnage de données de séries temporelles**

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