gnuplot平滑插值不维护数据顺序

gnuplot smooth interpolation does not maintain data order

这是我的数据:

data.txt (1st column is X; 2nd column is Y):
30 16
26 24
28 30
73 36

当我使用 "scatter with smooth lines" 在 excel 中绘制图表时,我得到这样的图片:

但是,我无法在 gnuplot 中找到等效项。基本上,当我做这样的事情时:

plot 'data.txt' u 1:2 w p, 'data.txt' u 1:2 smooth csplines lw 2 notable

先对x轴的数据进行排序,然后再进行平滑插值。这破坏了数据的顺序并导致像这样的时髦图表:

我已经尝试了所有其他平滑选项,贝塞尔曲线是一种改进,但没有连接我的两个数据点。想知道在 gnuplot 中是否可以做到这一点。谢谢!

这在 gnuplot 中是不可能的。 Excel 中的 smooth lines 和 gnuplot 中的 smooth 的含义并不完全相同。

在Excel中确实是用平滑的线条代替直线的意思

在 gnuplot 中,它意味着对数据应用许多可能的转换之一。如果你阅读每一个的文档,你会发现几乎所有的文档都说它们是第一个 "make the data monotonic",这意味着数据是第一个排序的。还要注意,它们中的大多数不适用于原始数据,而是对数据进行一些转换。

如果这是您需要的功能,我看不出为什么不能添加它的明显原因(smoothlines 绘图样式)。 sourceforge 上的 gnuplot 页面允许用户提交功能请求。请参阅 feature request page 以执行此操作。