যদি আমি সঠিকভাবে বুঝতে পারি তবে আপনি যা চান তা এই:
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
এমন কিছু যা আপনার ডেটাফাইলে নামকরণ বর্ণনা করে, তা হোক *
বা *dat
। glob
মডিউলটির পরিবর্তে , আপনি os
অবশ্যই ব্যবহার করতে পারেন । যা কিছু ফাইল নামের একটি তালিকা উত্পন্ন করে, সত্যই।