我没有在gnuplot上获得平滑的曲线。
这是我的代码:
set style line 3 lc rgb '#09ad00' lt 1 lw 1.5 #green
set style line 1 lc rgb '#0060ad' lt 1 lw 2 #blue
set style line 2 lc rgb '#dd181f' lt 1 lw 2 #red
plot [-1:1] f1(x) with line ls 3,f2(x) with line ls 1,f1(x)+f2(x) with line ls 2
我得到了这个情节
虽然我期待这种类型的曲线
答案 0 :(得分:1)
您尚未展示您的特定功能,但这几乎肯定是一个抽样问题。 Gnuplot并没有真正绘制函数的曲线 - 它实际上计算多个点的函数并用直线连接它们,类似于绘制数据文件时会发生的情况。它计算的点数是用户可设置的。
这里采样率设置得相当低。我们可以查看各个点,以了解正在发生的事情。
为了改善这一点,我需要使用set samples ?
命令来提高采样率。默认值为100(5.0补丁级别6)。根据功能变化的速度,可能需要更高的值。我通常使用set samples 1000
将其设置为1000左右。这会将图表更改为
产生更好的平滑曲线。同样,这只是一串由直线连接的点,但是当有很多这些点时,它看起来像一条平滑的连续曲线。
我们可以再次查看各个点(使用100的采样率,因为1000太多而无法清楚地看到这些点)
我们还可以看到,1000点和100点的图表之间没有太大差异。在正弦曲线的情况下,100足以看到平滑的图形,但是如果曲线变化更快,我们可能需要更多。
set samples
命令(可选)采用两个值,但第二个值仅用于3d图。您可以使用help samples
命令找到更多信息。