Перейти к основному содержимому
Перейти к основному содержимому

largestTriangleThreeBuckets

Применяет алгоритм Largest-Triangle-Three-Buckets к входным данным.
Алгоритм используется для уменьшения количества данных временных рядов для визуализации. Он разработан для работы с сериями, отсортированными по координате x.
Он работает, деля отсортированную серию на ведра, а затем находя самый большой треугольник в каждом ведре. Количество ведер равно количеству точек в результирующей серии.
Функция отсортирует данные по x, а затем применит алгоритм уменьшения данных к отсортированным данным.

Синтаксис

largestTriangleThreeBuckets(n)(x, y)

Псевдоним: lttb.

Аргументы

NaNs игнорируются в предоставленной серии, что означает, что любые значения NaN будут исключены из анализа. Это обеспечивает работу функции только с допустимыми числовыми данными.

Параметры

  • n — количество точек в результующей серии. UInt64.

Возвращаемые значения

Массив из Кортежа с двумя элементами:

Пример

Входная таблица:

┌─────x───────┬───────y──────┐
│ 1.000000000 │ 10.000000000 │
│ 2.000000000 │ 20.000000000 │
│ 3.000000000 │ 15.000000000 │
│ 8.000000000 │ 60.000000000 │
│ 9.000000000 │ 55.000000000 │
│ 10.00000000 │ 70.000000000 │
│ 4.000000000 │ 30.000000000 │
│ 5.000000000 │ 40.000000000 │
│ 6.000000000 │ 35.000000000 │
│ 7.000000000 │ 50.000000000 │
└─────────────┴──────────────┘

Запрос:

SELECT largestTriangleThreeBuckets(4)(x, y) FROM largestTriangleThreeBuckets_test;

Результат:

┌────────largestTriangleThreeBuckets(4)(x, y)───────────┐
│           [(1,10),(3,15),(9,55),(10,70)]              │
└───────────────────────────────────────────────────────┘