2008-09-13 11 views
1

線図にZedgraphを使用し、IsSmoothをtrueに設定すると、線はハードコーナー/アングルを持つ代わりにきれいに湾曲します。'バンプなし'のZedgraph線グラフのスムージング

私の謙虚な意見では、これはほとんどのグラフでははるかによく見えますが、小さなキャッチがあります。スムージングアルゴリズムは、ラインを上向きまたは下向きにする前に、少し「ダイブ」または「バンプ」にします。

ほとんどの場合、データポイントがスムーズな場合は問題ありませんが、データポイントが0から15になると、 'dive'はx軸の下に行を移動させますあたかもゼロ以下のデータポイントがあるように見えます(そうではありません)。

どのように私は(prefably簡単;)この問題を解決することができ

答えて

3

これは単純な答えではありません。緊張をゼロに近づけることは、あなたの最も簡単な解決策になります。

ZedGraphは、平滑化を適用するためにGDIのDrawCurveテンションパラメータを使用します。これはおそらくエルミート補間です。あなた自身のコサイン補間を実装しようとすることができます。これは、その性質上、極端な極限を保ちます。このリンクをご覧ください: http://local.wasp.uwa.edu.au/~pbourke/miscellaneous/interpolation/

編集:ウェブサイトがダウンしています。ここでは、キャッシュされたバージョンのページがあります。 http://web.archive.org/web/20090920093601/http://local.wasp.uwa.edu.au/~pbourke/miscellaneous/interpolation/

+0

+1分析、提案された解決策および参考資料です。 –

+1

私はこれが古いことを知っていますが、SOのことをWikiの精神で - リンクが壊れています。 :) –

+0

ありがとうdav_i、私は動作し続けるアーカイブリンクを追加しました。 –

1

あなたは上下myCurve.Line.SmoothTensionプロパティを変更し、それが助けかどうかを確認しようとすることができます。

関連する問題