web-dev-qa-db-ja.com

D3-SVGラインの基底補間と線形補間の違い

M. Bostockによって ここ で与えられたような複数シリーズの折れ線グラフを実装しましたが、私には説明できない奇妙な問題に遭遇しました。線形補間を選択し、スケールと軸を設定すると、すべてが正しく、値が適切に調整されます。 Linear interpolation

しかし、軸とスケールを変更せずに補間を基底に変更すると、線と軸の間の値が正しくなくなります。

Basis interpolation

ここで何が起きてるの?モノトーン設定を使用すると、基本補間とほぼ同じ効果を得ることができますが、線と軸の間の同期の問題はありません。それでも私は何が起こっているのか理解したいと思います。

18
Barnabé Monnot

基本補間は ベータスプライン を実装しています。これは、極端なピークを滑らかにするため、補間関数として使用するのが好きです。これは、スムーズに変化すると予想されるものの、シャープでサンプリング頻度の低いデータしかないものをモデル化する場合に役立ちます。この結果、結果の線がすべてのデータポイントを接続するわけではなく、極値の外観が変化します。

あなたの場合、通常0のベースライン値を除いて、鋭いピークが興味深い特徴です。スプライン補間を使用すると、これらのピークが平滑化されます。

これは、さまざまなタイプのラインインターポレーションで遊ぶための楽しいデモです: http://bl.ocks.org/mbostock/434219

データをドラッグして、自分のような鋭いピークに似せることができます。クリックして新しいポイントを追加することもできます。次に、基底補間に切り替えて、ピークが平均化されるのを確認します。

Basis interpolation

27
Kyle Heuton