2011-06-08 18 views
18

में डेटा के कॉलम पर कॉलिंग फ़ंक्शन मेरे पास कॉलम-स्वरूपित डेटा है और मैं पहले दो कॉलम बनाम 5 वें कॉलम के लॉगरिदम का एक स्प्लॉट बनाना चाहता हूं। मैंने कोशिश की है:Gnuplot

set pm3d map 
splot "thing.file" u 1:2:log($5) 

लेकिन मैं त्रुटि

undefined value 

मैं कैसे gnuplot डेटा के स्तंभों में से एक के एक समारोह साजिश प्राप्त कर सकते हैं मिल सकता है?

उत्तर

26

यह काम करता है:

splot "thing.file" u 1:2:(log($5)) 

सामान्य में, अगर एक शब्द स्तंभ अपने आप में एक डेटा फ़ाइल के बजाय में एक स्तंभ के एक समारोह से परिभाषित किया गया है, वहाँ इस शब्द के आसपास कोष्ठक की जरूरत है।

-6

gnuplot के अपने FAQ से लिया गया, "ग्नुपलॉट एक साजिश कार्यक्रम है, न कि डेटा प्रोसेसिंग या गणितीय प्रोग्राम सूट। इसलिए gnuplot ऐसा नहीं कर सकता है।"

प्लॉटिंग से पहले लॉग फ़ाइलों को उत्पन्न करने के लिए आप अपनी डेटा फ़ाइल ऑक्टेव या मैटलैब के माध्यम से चला सकते हैं।

+4

यह पता चल: अगर मैं दर्ज करें: splot "thing.file" यू 1: 2: (लॉग ($ 5)) यह है कि स्तंभ पर समारोह चलाता है। आम तौर पर, मुझे लगता है कि कॉलम के कार्यों को शामिल करने वाली अभिव्यक्ति के चारों ओर कोष्ठक होने की आवश्यकता है। – Dan

+2

@Dan क्यों ऐसा उत्तर नहीं देते? –

+0

मेरे पास पोस्ट करने के 8 घंटे बाद तक मेरे अपने प्रश्न का उत्तर देने के लिए पर्याप्त प्रतिष्ठा नहीं है। – Dan

1

समाधान का विस्तार करने के लिए, अपने कार्य एकाधिक आदानों की आवश्यकता है यदि आप एकाधिक स्तंभों का उपयोग कर सकते हैं: उदाहरण:

plot "file" using 1:(x=$2, y=$3, f(x,y)) 

भी काम करता है।