質問

線グラフに Zedgraph を使用し、IsSmooth を true に設定すると、線は硬い角や角度を持たず、きれいに湾曲します。

私の謙虚な意見では、これはほとんどのグラフにとってはるかに優れているように見えますが、小さな落とし穴があります。スムージング アルゴリズムにより、ラインは上昇または下降する前に少し「急降下」または「隆起」します。

ほとんどの場合、データポイント自体が滑らかであれば、これは問題ありませんが、データポイントがたとえば 0 から 15 まで変化すると、「ダイブ」により線が X 軸の下に入り、あたかもそこにあるかのように見えます。一部のデータポイントはゼロ未満です (これは当てはまりません)。

これを修正するにはどうすればよいですか(できれば簡単に;)

役に立ちましたか?

解決

これに対する単純な答えはありません。張力をゼロ近くに保つことが最も簡単な解決策になります。

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/

他のヒント

myCurve.Line.SmoothTension プロパティを上下に変更して、それが役立つかどうかを確認してください。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top