Passer au contenu principal

largestTriangleThreeBuckets

Introduit dans : v23.10.0 Applique l’algorithme Largest-Triangle-Three-Buckets 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
largestTriangleThreeBuckets(n)(x, y)
Alias : lttb Paramètres
  • n — Nombre de points dans la série résultante. UInt64
Arguments Valeur renvoyée Renvoie un tableau de tuples à deux éléments. Array(Tuple(Float64, Float64)) Exemples Sous-échantillonnage de données de séries temporelles
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)]              │
└───────────────────────────────────────────────────────┘
Dernière modification le 25 juin 2026