メインコンテンツへスキップ
メインコンテンツへスキップ

largestTriangleThreeBuckets

入力データに対して Largest-Triangle-Three-Buckets アルゴリズムを適用します。 このアルゴリズムは、可視化のために時系列データをダウンサンプリングする際に使用されます。x 座標でソートされた系列を前提として設計されています。 ソート済み系列を複数のバケットに分割し、各バケット内で最大の三角形を見つけることで動作します。バケット数は、ダウンサンプリング後の系列に含まれる点の数と同じです。 この関数は、まずデータを x でソートし、その後ソート済みデータに対してダウンサンプリングアルゴリズムを適用します。

構文

largestTriangleThreeBuckets(n)(x, y)

エイリアス: lttb.

引数

与えられた系列中の NaN は無視され、これらの NaN 値は分析から除外されます。これにより、この関数は有効な数値データのみに対して動作します。

パラメータ

  • n — 結果の系列に含まれる点の数。UInt64

返される値

2 要素を持つ TupleArray:

入力テーブル:

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