plot multiple graphs from multiple files gnuplot

2019-06-13 04:50发布

问题:

I have a set of files named like this:

qd-dPZ-z1-1nn.dat 
qd-dPZ-z2-1nn.dat 
qd-dPZ-z4-1nn.dat 
qd-dPZ-z8-1nn.dat 
qd-dPZ-z16-1nn.dat 
qd-dPZ-z32-1nn.dat 
qd-dPZ-z1-2nn.dat 
qd-dPZ-z2-2nn.dat 
qd-dPZ-z4-2nn.dat 
qd-dPZ-z8-2nn.dat

I need to generate a graph for each file (from file

qd-dPZ-z1-1nn.dat 

generate graph

qd-dPZ-z1-1nn.ps 

from file

qd-dPZ-z2-1nn.dat 

generate graph

qd-dPZ-z2-1nn.ps 

and so on)

So far, I´ve tried

gnuplot> filenames = "qd-dPZ-z1-1nn.dat qd-dPZ-z2-1nn.dat qd-dPZ-z4-1nn.dat qd-dPZ-z8-1nn.dat qd-dPZ-z16-1nn.dat qd-dPZ-z32-1nn.dat qd-dPZ-z1-2nn.dat qd-dPZ-z2-2nn.dat qd-dPZ-z4-2nn.dat qd-dPZ-z8-2nn.dat qd-dPZ-z16-2nn.dat qd-dPZ-z32-2nn.dat qd-dPZ-z1-4nn.dat" 
gnuplot> plot for [file in filenames] file using 1:2 with lines

But this plots all my files in a single graph.

Is there a way to generate separeted graphs from each file?

回答1:

index = "1-1 2-1 4-1 8-1 16-1 32-1 1-2 2-2 4-2 8-2"
do for [i in index] {
    set output "qd-dPZ-z".i."nn.ps"
    plot "qd-dPZ-z".i."nn.ps" using 1:2 with lines
}