我正在尝试在 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)