我有很多想要绘制的结果并自动保存。我试图在帮助手册中找到但尚未找到。当我绘制每个文件时,我花了很多时间。你能帮我吗?
例如,我有10个文本文件,其名称是conf-a00到conf-a09,我想自动绘制并保存它们。
非常感谢你的帮助。
荣-都
答案 0 :(得分:1)
您有几种可能性:
例如,如果您有以下文件foo.gpl:
#foo.gl
set term png
set output "OUTFILE"
plot "DATAFILE" using 1:2 with lines
然后,您可以使用shell脚本修改模板:
#!/bin/bash
for i in {01..09}
do
sed 's/DATAFILE/conf-a'${i} s/OUTFILE/graph'${i}'.png/' template.gnuplot > /tmp/foo
gnuplot /tmp/foo
done
rm /tmp/foo
有类似(未经测试)的东西:
在gnuplot中,你做
i = 1
n = 9
set term png
load "loop.gpl"
with loop.gpl包含:
datafile = "conf-a0".i
outfile = "graph".i.".jpg"
set output outfile
plot datafile using 1:2 with lines
set output
i=i+1
if (i <= n) reread
(您有类似的答案here)
你可以使用foor loop:
do for [t=0:9] {
datafile = sprintf('conf-a0%f',t)
outfile = sprintf('graph%f.png',t)
set output outfile
plot datafile using 1:2 with lines
}
编辑: 使用您的信息:
cat newloop.gpl
:
datafile = "data-a0".i
outfile = "graph0".i.".png"
set output outfile
plot datafile w lp lw 2.5
i=i+1
set output
if (i <= n) reread
在gnuplot中:
gnuplot> i = 1
gnuplot> n = 5
gnuplot> set grid
gnuplot> set logscale x
gnuplot> set xlabel 'P (kPa)'
gnuplot> set ylabel 'Z'
gnuplot> set format y "%.2f"
gnuplot> set format x "10^{%L}"
gnuplot> set title 'Coordination number in isotropic pressure cycle'
gnuplot> set pointsize 2
gnuplot>
gnuplot> load "newloop.gpl"
生成不同大小的图表:
-rw-rw-r-- 1 fred fred 5430 avril 17 23:20 graph01.png
-rw-rw-r-- 1 fred fred 5228 avril 17 23:20 graph02.png
-rw-rw-r-- 1 fred fred 5248 avril 17 23:20 graph03.png
-rw-rw-r-- 1 fred fred 5685 avril 17 23:20 graph04.png
-rw-rw-r-- 1 fred fred 5818 avril 17 23:20 graph05.png