2013-02-14 71 views
43

मेरे पास एक सीएसवी फ़ाइल है जिसमें प्रत्येक पंक्ति पर 5 प्रविष्टियां हैं। प्रत्येक प्रविष्टि यह है कि नेटवर्क पैकेट ट्रिगर किया गया है या नहीं। प्रत्येक पंक्ति में अंतिम प्रविष्टि पैकेट का आकार है। प्रत्येक पंक्ति = समय एमएस में समाप्त हो गया।एक CSV फ़ाइल का उपयोग करके प्लॉटिंग

उदा। पंक्ति

1 , 0 , 1 , 2 , 117 

मैं उदाहरण के लिए ग्राफ कैसे प्लॉट करूं जहां एक्स अक्ष पंक्ति संख्या है और y उदाहरण के लिए मान है प्रत्येक पंक्ति में पहली प्रविष्टि?

उत्तर

63

यह मिलना चाहिए आप आरंभ:

set datafile separator "," 
plot 'infile' using 0:1 
+0

खिड़कियों में उपलब्ध है @mgilson: "," बेहतर हां में है, हालांकि "अल्पविराम" Gnuplot 4.7 द्वारा समर्थित है। – Thor

+1

तो यह है। जिस मशीन पर मैं काम कर रहा हूं उसके आधार पर, मैं आमतौर पर 4.6 या यहां तक ​​कि 4.4 का उपयोग करता हूं क्योंकि 4.7 अभी भी विकास में है। लेकिन यह दिलचस्प है कि उन्होंने इसे जोड़ा। मैं अभी भी संदर्भ या विशेष उद्देश्यों के लिए इसे चारों ओर रखता हूं :)। मुझे आश्चर्य है कि '", "और 'अल्पविराम' के बीच कोई सूक्ष्म अंतर है या नहीं। – mgilson

+1

@mgilson: मुझे नहीं लगता कि कोई अंतर है, 'src/set.c: 2386'' df_separator = ','; 'और 'src/set.c: 2392' पढ़ता है' df_separator = sep [0] ; 'जो मेरी आंखों में एक जैसा होना चाहिए। – Thor

13

तुम भी gnuplot (जो मुक्त है) का उपयोग कर एक PNG फ़ाइल के लिए प्लॉट कर सकते हैं:

टर्मिनल आदेशों

gnuplot> set title '<title>' 
gnuplot> set ylabel '<yLabel>' 
gnuplot> set xlabel '<xLabel>' 
gnuplot> set grid 
gnuplot> set term png 
gnuplot> set output '<Output file name>.png' 
gnuplot> plot '<fromfile.csv>' 

ध्यान दें: आप हमेशा set output

पर सही एक्सटेंशन (.png यहां) देने की आवश्यकता है

फिर यह भी संभव है कि आउटपुट लाइन न हो, क्योंकि आपका डेटा जारी नहीं है। ठीक करने के लिए इस बस 'साजिश' के लिए लाइन बदलने के लिए: पर

plot '<Fromfile.csv>' with line lt -1 lw 2 

अधिक लाइन संपादन विकल्प (डैश और रेखा का रंग ect।): http://gnuplot.sourceforge.net/demo_canvas/dashcolor.html

  • gnuplot के माध्यम से सबसे Linux distros में उपलब्ध है पैकेज प्रबंधक (जैसे एक उपयुक्त आधारित distro पर, चलाने apt-get install gnuplot)
  • gnuplot Cygwin
  • के माध्यम से