用Gnuplot进行批处理作图

来源:互联网 发布:冲锋枪 突击步枪 知乎 编辑:程序博客网 时间:2024/05/22 16:53

Gnuplot进行批处理作图

一个目录里有三十多个一维谱文件,名字分别为S45202.01、S45202.02、S45202.03……把每个文件都画出图形,怎么做?用bash script + gunplot进行批处理可以很快搞定。

第一种方法:建立两个文件,gnuplot脚本文件和bash脚本文件:

plot.plt文件

set term postscript eps enhanced color set output "S45202.01.eps" set title "Spectrum" set xlabel "Wavelength [{/Symbol l}]" set xtics 5 set ylabel "Intension" set ytics 500 set grid set nokey plot "S45202.01" using 1:2 with lines

batch文件

#!/bin/bash sed "s/S45202.01/S45202.02/g" "plot.plt" | gnuplot sed "s/S45202.01/S45202.04/g" "plot.plt" | gnuplot ... ...

这里使用了sed命令。更简便的方法是写成

#!/bin/bash for i in S45202.*  do sed "s/S45202.01/$i/g" "plot.plt" | gnuplot done

之后./batch 就可以生成每幅图的eps图像了

更方便的办法是把gnuplot脚本和bash脚本写成一个文件

#!/bin/bash   for i in S45202.*   do gnuplot << EOF set term postscript eps enhanced color set output "$i.eps" set title "Spectrum" set xlabel "Wavelength [{/Symbol l}]" set xtics 5 set ylabel "Intension" set ytics 500 set grid set nokey plot "$i" using 1:2 with lines EOF   done

本文参考了Gnuplot - not so Frequently Asked Questions

原创粉丝点击