Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
gnuplot中不带replot的多文件输出_Gnuplot - Fatal编程技术网

gnuplot中不带replot的多文件输出

gnuplot中不带replot的多文件输出,gnuplot,Gnuplot,我想制作一个gnuplot脚本模板,用于生成eps和png输出。目标是,当我想做一个新的绘图时,我只需复制模板,设置格式、标签等,然后绘制我需要绘制的内容 简单的方法是: set terminal postscript eps set output 'output.eps' plot sin(x) set output set terminal pngcairo set output 'output.png' replot set output 但是,当使用multiplot时,replot

我想制作一个gnuplot脚本模板,用于生成eps和png输出。目标是,当我想做一个新的绘图时,我只需复制模板,设置格式、标签等,然后绘制我需要绘制的内容

简单的方法是:

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

set terminal pngcairo
set output 'output.png'
replot
set output
但是,当使用multiplot时,replot命令仅replots last plot,因此我必须重新输入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脚本中处理它,这样它就可以移植到单个文件中

有这样的方法吗?

考虑一个循环:

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