2013-08-08 13 views
16

私はBostockによってhereと与えられたもののようなマルチシリーズの折れ線グラフを実装し、私自身は説明できない興味深い問題に遭遇しました。私が線形補間を選択し、私のスケールと軸を設定すると、すべてが正しいことになり、値はうまく整列します。 Linear interpolationD3 - SVGラインの基底と線形補間の差

私の軸と尺度を変更することなく、補間を基本に変更すると、線と軸の間の値が正しくありません。ここで何が起こっている

Basis interpolation

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

答えて

26

基本補間はbeta splineを実装しています。人々は補間関数として極端なピークを滑らかにするために使用したいと考えています。これは、スムーズに変化すると予想されるものをモデリングしているときに、鋭く、あまりサンプリングされていないデータしかモデリングしていない場合に便利です。この結果、結果の線はすべてのデータポイントを接続せず、極値の出現を変えることになります。

あなたのケースでは、シャープなピークが興味深い機能ですが、通常はベースライン値は0です。スプライン補間を使用すると、これらのピークを滑らかにします。ここで

は、ラインinterpoationsの異なる種類と遊ぶのが楽しいデモです: http://bl.ocks.org/mbostock/4342190

彼らはあなたのような鋭いピークに似ているので、あなたが周りにデータをドラッグすることができます、でも新しいポイントを追加します。その後、基底補間に切り替え、ピークが平均化されるのを見ます。

Basis interpolation

+0

完全にそれに同意する、本当に私が尋ねたものではない。はい線形補間は、このグラフではっきりしていますが、私は後で同じ問題に遭遇する可能性があるため(実際には既に存在しています)、とにかく頼んでいます。 –

+0

ああ、申し訳ありませんが、なぜあなたの値が基本補間で異なって見えるのかという疑問がありました。何を聞いていますか? –

+0

多分私は明確ではなかった:)私がアップロードした2枚の写真は、同じデータセットで生成された。たとえば、私のデータセットの最大値は100です。線形補間では、軸によってピークが正しく表示されます。しかし、私は基底補間に変更し、現在では(軸に沿って)私の最高値は約70ですが、そうではありません。それは私のスケールのドメインが変更されたかのようですが、補間パラメータを変更するだけで済ませているわけではありません。なぜこれが起こったのか、それを防ぐために何ができるのだろうと思っていました。 –