gnuplot中的多文件输出,无需重新绘制

时间:2016-11-18 14:14:09

标签: gnuplot

我想制作一个可以产生eps和png输出的gnuplot脚本模板。我的目标是,当我想制作一个新的情节时,我只需复制模板,设置格式,标签等,并绘制我需要绘制的内容。

简单的方法是:

set terminal postscript eps
set output 'output.eps'
plot sin(x)
set output

set terminal pngcairo
set output 'output.png'
replot
set output

然而,当使用多时隙时,replot命令仅重新创建最后一个绘图,因此我必须重新输入mutliplot以获得第二个输出,并进行其他我希望避免的更改。

我想要实现的是gnuplot伪代码:

set terminal 1 postscript eps
set output 1 'output.eps'
set terminal 2 pngcairo
set output 2 'output.png'

plot ...

set output 1
set output 2

这样两个输出文件都是并行生成的,我唯一要编辑的就是打开和关闭输出文件之间的行。

我可以创建一个bash脚本,使其按照我想要的方式工作,但我更喜欢在gnuplot脚本中处理它,以便它可以移植,并且在单个文件中。

有没有办法像这样做?

1 个答案:

答案 0 :(得分:0)

考虑一个循环:

do for [FILETYPE in "png eps"] {
 set output "plot.".FILETYPE
 set term FILETYPE
 plot x**2
 set output
}