2012-10-05 2 views
7

मैं गनप्लॉट में ऐसी डेटा संरचना, में एक मैट्रिक्स कैसे प्लॉट कर सकता हूं, जिसमें पहली पंक्ति और कॉलम का उपयोग कुल्हाड़ी और वाई टिक्स (पहली पंक्ति की पहली संख्या) कॉलम की संख्या है)?gnuplot: डेटा के मैट्रिक्स का 3 डी प्लॉट

4 0.5 0.6 0.7 0.8 
1 -6.20 -6.35 -6.59 -6.02 
2 -6.39 -6.52 -6.31 -6.00 
3 -6.36 -6.48 -6.15 -5.90 
4 -5.79 -5.91 -5.87 -5.46 

उत्तर

5

वास्तव में इस डेटा स्वरूप matrix nonuniform साथ में पढ़ा जा सकता है के लिए इसे बदल सकते हैं:

set view 50,20 
set ticslevel 0 
splot 'data.txt' matrix nonuniform with lines t '' 

यह उत्पन्न करता है सही चित्र, जैसे डेटा फ़ाइल में निर्दिष्ट:

enter image description here

1

एक 4D साजिश प्लॉट करने के लिए, 4 आयाम के रूप में रंग का उपयोग कर, आप

splot '1.txt' using 2:3:4:5 every ::1 palette 
# |        | 
# |        | 
# used for 3d plots   skip the header line 

उपयोग कर सकते हैं या x और y पहले कॉलम और लाइन होने के साथ, आप एक अलग तस्वीर आकर्षित करने के लिए करना चाहते हैं , और मैट्रिक्स में संख्या बस z represinting? उसके बाद निम्न का उपयोग करें:

splot '1.txt' every ::1:1 matrix 

कुछ प्रभाव जोड़ने के लिए, आप

set dgrid3d 4,4 
splot '1.txt' every ::1:1 matrix with lines 
+0

बहुत बहुत धन्यवाद! अंतिम समाधान "सेट dgrid3d 4,4; स्प्लॉट '1.txt' प्रत्येक :: 1: 1 मैट्रिक्स लाइनों के साथ" मेरे लिए अच्छा है। केवल मैं ग्राफ के आधार पर x ticks "0.5 0.6 0.7 0.8" और y ticks "1 2 3 4" का उपयोग करना चाहता हूं। क्या यह संभव है? – micheletuttafesta

+0

@micheletuttafesta: आप 'सेट xtics (0.5, 0.6, 0.7, 0.8)' का उपयोग कर सकते हैं। AFAIK, gnuplot में इनपुट फ़ाइल से संख्या प्राप्त करने के लिए कोई मेनू नहीं है, इसलिए आपको gnuplot स्क्रिप्ट उत्पन्न करना होगा: 'head -n1 input.txt | sed's//,/g; s/^/set xtics (/; s/$ /)/'> script.gp'। – choroba

+0

धन्यवाद choroba! आपका सुझाव मेरा अंतिम समाधान – micheletuttafesta