मैं एक कॉलम को gnuplot में कैसे बांटूं?


11

मेरे पास gnuplot डेटा फ़ाइल है। मैं इसे प्लॉट करना चाहूंगा, लेकिन प्रत्येक मूल्य को x- अक्ष में n से विभाजित करता हूं।

क्या मैं gnuplot के भीतर से ऐसा कर सकता हूं, या क्या मुझे डेटा फ़ाइल को फिर से लिखना होगा?


इस ऑपरेशन को आमतौर पर "स्केलिंग" के रूप में जाना जाता है, हो सकता है कि यह शब्द शीर्षक में होना चाहिए?
— दिमित्री ग्रिगोरीव

जवाबों:


24

मान लें कि xमान फ़ाइल के पहले कॉलम में हैं 'test.dat'और yमान उसी फ़ाइल के दूसरे कॉलम में हैं, तो आप यह लिख सकते हैं:

plot 'test.dat' using ($1/n):($2)

अधिक जानकारी के लिए मैनुअल देखें और 'using'कीवर्ड पर उदाहरण देखें ।

ध्यान दें कि इससे आपकी डेटा फ़ाइल का मान नहीं बदलेगा 'test.dat'। यदि आप डेटा फ़ाइल को फिर से लिखना पसंद करते हैं, तो आप इसका उपयोग कर सकते हैं awk। उदाहरण के लिए:

awk '{print $1/n,$2}' test.dat > testnew.dat

विकल्प होगा xकी पहले स्तंभ के मानों test.datके साथ x/nऔर कहा जाता है एक नई फ़ाइल उत्पन्न होगा testnew.dat।


मैन्युअल के अंतिम HTML संस्करण के लिए एक टूटी हुई कड़ी को ठीक करने के लिए एक संपादन प्रस्तुत किया। यह भी ध्यान दें कि मैनुअल केवल पीडीएफ के रूप में हाल के संस्करणों में उपलब्ध हैं। gnuplot.info/documentation.html
— असाहिको

हम कुछ स्तंभों के मूल्यों को भी विभाजित कर सकते हैं:plot "path/to/data.dat" using 1:($5/$3) with lines
— दोहन ​​जो
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.