Se ho capito bene, questo è quello che vuoi:
for FILE in *; do
gnuplot <<- EOF
set xlabel "Label"
set ylabel "Label2"
set title "Graph title"
set term png
set output "${FILE}.png"
plot "${FILE}" using 1:2:3:4 with errorbars
EOF
done
Ciò presuppone che i tuoi file siano tutti nella directory corrente. Quanto sopra è uno script bash che genererà i tuoi grafici. Personalmente, di solito scrivo un file di comando gnuplot (chiamalo, diciamo, gnuplot_in
), usando uno script di qualche forma, con i comandi sopra per ogni file e lo plotto usando gnuplot < gnuplot_in
.
Per darti un esempio, in Python:
#!/usr/bin/env python3
import glob
commands=open("gnuplot_in", 'w')
print("""set xlabel "Label"
set ylabel "Label2"
set term png""", file=commands)
for datafile in glob.iglob("Your_file_glob_pattern"):
# Here, you can tweak the output png file name.
print('set output "{output}.png"'.format( output=datafile ), file=commands )
print('plot "{file_name}" using 1:2:3:4 with errorbars title "Graph title"'.format( file_name = datafile ), file=commands)
commands.close()
dov'è Your_file_glob_pattern
qualcosa che descrive la denominazione dei tuoi file di dati, sia esso *
o *dat
. Invece del glob
modulo, puoi anche usarlo os
ovviamente. Qualunque cosa generi un elenco di nomi di file, davvero.