ถ้าฉันเข้าใจถูกต้องนี่คือสิ่งที่คุณต้องการ:
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
นี่ถือว่าไฟล์ของคุณอยู่ในไดเรกทอรีปัจจุบัน ด้านบนเป็นสคริปต์ทุบตีที่จะสร้างกราฟของคุณ ส่วนตัวผมมักจะเขียนไฟล์คำสั่ง gnuplot (เรียกว่าพูดgnuplot_in
), gnuplot < gnuplot_in
การใช้สคริปต์ของรูปแบบบางส่วนที่มีคำสั่งดังกล่าวสำหรับแต่ละไฟล์และพล็อตโดยใช้
ในการให้ตัวอย่างกับคุณในภาษาไพ ธ อน:
#!/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()
ซึ่งYour_file_glob_pattern
เป็นสิ่งที่อธิบายถึงการตั้งชื่อของ datafiles ของคุณไม่ว่าจะเป็นหรือ*
*dat
แทนที่จะเป็นglob
โมดูลคุณสามารถใช้os
เช่นกัน อะไรก็ตามที่สร้างรายชื่อไฟล์จริงๆ