我正尝试在Gnuplot中使用PNG终端来使用replot。
如果我按照以下方式操作,则可以将两个图形绘制到同一张图中,没有任何问题:
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中使用PNG终端来使用replot。
如果我按照以下方式操作,则可以将两个图形绘制到同一张图中,没有任何问题:
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的行续延(在行末使用\
)。 \
后面不能有任何内容,即使是空格也不行。
plot sin(x)/x with lines linecolor rgb "blue" linetype 7 lineweight 4, \
sin(x), \
cos(x)