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
x— coordonnée x.(U)Int*ouFloat*ouDecimalouDateouDate32ouDateTimeouDateTime64y— coordonnée y.(U)Int*ouFloat*ouDecimalouDateouDate32ouDateTimeouDateTime64
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
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)] │
└──────────────────────────────────────┘