2012-03-12 7 views
17

बस एक साधारण सवाल (मुझे लगता है), लेकिन, मान लीजिए कि मैं निम्न डेटा फ़ाइल है:होने "स्वचालित" एक्स

# no x data, it's sampled for instance each second. 
23 42 48 
49 89 33 
39 44 97 

कैसे (यदि संभव हो तो) मैं प्लॉट कर सकते हैं कि के रूप में अगर यह थे

1 23 42 48 
2 49 89 33 
3 39 44 97 

1,2,3, .. (पहला कॉलम) x के रूप में उपयोग करते हुए?

उदाहरण के लिए: plot "file.dat" using (lineNumber):3 कुछ ऐसा करना।

उत्तर

13

लाइन का आकलन करने के लिए बहुत उपयोग करें। जैसे , Datafile की तीसरी पंक्ति प्लॉट करने के लिए उपयोग करें:

plot "<awk '{print FNR,$0}' DATAFILE" u 1:4 

ध्यान दें कि AWK linenumbers कहते हैं, तो पहले कॉलम LineNumber है।

लेकिन वास्तव में आप यह बहुत 2 डी के लिए आसान हो सकता है भूखंडों

plot "DATAFILE" u 3 

एक ही होता है, gnuplot स्वचालित रूप से एक्स-अक्ष

+0

धन्यवाद, सही :) – user978548

35

के लिए लाइन नंबर का उपयोग कर रहा है आप नहीं चाहते हैं अजीब पर भरोसा करने के लिए, gnuplot भी यह कर सकते हैं। help plot datafile using और help plot datafile using pseudocolumns देखें। प्रयास करें:

plot "file.dat" using (column(0)):3 
+0

आपको भी धन्यवाद! – user978548

+12

आप 'प्लॉट "file.dat का उपयोग भी कर सकते हैं" 0: 3' – John

+0

का उपयोग कर, या जैसा कि दूसरे उत्तर में बताया गया है, यहां तक ​​कि' प्लॉट "file.dat" 3' – vitaly

1

या बस अधिक, आप भी लिख सकते हैं: plot "file.dat" u ($0):3

यह आपको सूचकांक चर रैखिक को संशोधित करने की अनुमति देगा आपके द्वारा 2 स्केलिंग के रूप में किसी भी अन्य स्तंभ

जैसे और 1: plot "file.dat" u (($0)*2+1):3

संबंधित मुद्दे