/ / प्लॉट gnunlot या पायथन का उपयोग कर - पायथन, gnuplot

gnuplot या पायथन का उपयोग कर साजिश - पायथन, gnuplot

मेरे पास trajectories के साथ एक txt फ़ाइल है। मैं gnuplot द्वारा कॉलम 3 को कैसे प्लॉट कर सकता हूं और ट्रैजेक्टोरियों को अलग करने के लिए लंबवत रेखा हो सकता हूं।

#indexes:         0
1        -0.375E+04         0.382E+01
2        -0.375E+04         0.332E+01
3        -0.376E+04         0.353E+01
#indexes:        1
1        -0.735E+04         0.093E+01
2        -0.735E+04         0.096E+01
3        -0.735E+04         0.082E+01
4        -0.735E+04         0.094E+01
#indexes:         2
1        -0.835E+04         0.401E+01
2        -0.035E+04         0.438E+01
3        -0.365E+04         0.438E+01

मेरे पास कई इंडेक्स हैं।

तस्वीर:

यहां छवि विवरण दर्ज करें

उत्तर:

उत्तर № 1 के लिए 1

यहां एक उदाहरण शेल स्क्रिप्ट है जो आपके उदाहरण डेटा के साथ काम करती है। यह मानता है कि डेटा एक फाइल में है data, एक दूसरी टीएमपी फ़ाइल बनाता है /tmp/data2, और एक छवि /tmp/data.png.

#!/bin/bash
max=$(awk <data "
!/^#indexes/{ if($3+0>max)max = $3 }
END {print max}")

awk <data >/tmp/data2 -vmax="$max" "
/^#indexes/ {printf "%s %sn",i,max; next}
{ i++; }"

gnuplot <<!
set terminal png
set output "/tmp/data.png"
plot "data" using 3 with lines linetype rgb "red",
"/tmp/data2" using 1:2 with impulse linetype rgb "blue"
!
# eg: display /tmp/data.png

पहला awk तीसरे क्षेत्र का अधिकतम मूल्य पाता है। दूसरा अजीब प्रत्येक "# इंडेक्स" लाइन के लिए एक डेटा लाइन "i max" बनाता है, जहां i मायने रखता है डेटा लाइनों की संख्या, यानी नीली लंबवत के लिए एक्स अक्ष मान लाइनों।