平滑Zedgraph线图而没有"凹凸"

时间:2020-03-05 18:52:42  来源:igfitidea点击:

当我们将Zedgraph用于折线图并将IsSmooth设置为true时,线条会很好地弯曲,而不是具有硬的角/角度。

尽管对于大多数图形而言,这看起来要好得多-但在我看来,这还是有一个小问题。平滑算法使线条在向上或者向下之前需要一点"俯冲"或者"颠簸"。

在大多数情况下,如果数据点本身是光滑的,那么这不是问题,但是如果数据点从0变为15,则"俯冲"会使直线位于x轴下,这似乎使是一些低于零的数据点(不是这种情况)。

我该如何解决(很容易;)

解决方案

回答

我们可以尝试向上或者向下更改myCurve.Line.SmoothTension属性,看看是否有帮助。

回答

没有简单的答案。使张力接近零将是我们最简单的解决方案。

ZedGraph使用GDI的DrawCurve张力参数来应用平滑度,这可能是Hermite插值法。我们可以尝试实现自己的余弦插值,由于其性质,它将保持局部极值。我们可以查看此链接以了解原因:
http://local.wasp.uwa.edu.au/~pbourke/miscellaneous/interpolation/

编辑:网站已关闭。这是页面的缓存版本:
http://web.archive.org/web/20090920093601/http://local.wasp.uwa.edu.au/~pbourke/miscellaneous/interpolation/