Gnuplot-将replot与png终端一起使用

Gnuplot-将replot与png终端一起使用,gnuplot,Gnuplot,我试图在Gnuplot中使用replot和png终端 如果我执行以下操作,我将在一个图形上获得两个绘图,没有任何问题: plot sin(x)/x replot sin(x) 现在,如果对png终端类型执行相同操作,则生成的png文件仅包含第一个绘图 set terminal png set output 'file.png' plot sin(x)/x replot sin(x) 我是否在最后遗漏了一些东西来获取png文件中的第二个绘图?这实际上是一个非常好的问题,这里的行为取决于终端。某

我试图在Gnuplot中使用replot和png终端

如果我执行以下操作,我将在一个图形上获得两个绘图,没有任何问题:

plot sin(x)/x
replot sin(x)
现在,如果对png终端类型执行相同操作,则生成的png文件仅包含第一个绘图

set terminal png
set output 'file.png'
plot sin(x)/x
replot sin(x)

我是否在最后遗漏了一些东西来获取png文件中的第二个绘图?

这实际上是一个非常好的问题,这里的行为取决于终端。某些终端(例如postscript)将为每个
replot
提供一个新页面。你有几个解决方案

第一个选项:您可以在设置终端/输出之前进行绘图,然后在设置终端/输出之后重新打印:

plot sin(x)/x
replot sin(x)
set terminal png
set output 'file.png
replot
如果要在多个终端中绘制相同的内容,此选项有时很方便,但我很少将其用于其他任何内容

第二个(更好)选项:您可以将多个绘图打包到一个命令中,每个命令用逗号分隔

set terminal png
set output 'file.png'
plot sin(x)/x, sin(x)
我非常喜欢第二种方法——在多点环境中,这是将多个图形放在同一个绘图上的唯一方法。如果要绘制很长的函数,可以使用gnuplot的换行符断行(
\
在行尾-
\
之后不允许有任何内容,甚至不允许有空格)


非常感谢。这些命令将通过脚本发送。我可以使用第一个选项,并在之前设置“终端未知”,以避免弹出窗口。第二个选项使我需要的东西稍微复杂一些。我真的需要“回复”的方式。@Noel——没问题。很乐意帮忙。另一件事是,第二种解决方案将稍微更有效。我非常高兴地发现您了解了
unknown
终端。这是gnuplot的一个绝大多数人都不知道的漂亮角落。祝你好运
plot sin(x)/x with lines linecolor rgb "blue" linetype 7 lineweight 4, \
     sin(x),                                                           \
     cos(x)