2012-01-03 9 views
17

मुझे एक कॉलम में रंग के आधार पर मूल्यों की एक पंक्ति के लिए बिंदु रंग बदलने की आवश्यकता है। डेटा:जब कोई तीसरा कॉलम शून्य के बराबर होता है, और दूसरा रंग अन्यथा गनप्लॉट में कैसे होता है?

# x y z 
1, 3, 0 
1, 5, 6 
3, 5, 2 
4, 5, 0 

रंग एक मूल्य होना चाहिए, अगर स्तंभ शून्य है और एक अलग रंग है, तो तीसरे स्तंभ में मान गैर-शून्य है।

तो, मैं यह सोचते हैं हूँ:

plot "./file.dat" u 1:2:3 with points palette 
यहां पाया के रूप में

: https://stackoverflow.com/a/4115001 नहीं काफी काम करते हैं।

उपर्युक्त उदाहरण डेटा में, gnuplot कमांड दो की बजाय तीन अलग-अलग रंग प्रदान करता है।

+0

जेसिकाबी, कृपया सबसे अच्छा जवाब चिह्नित करें। धन्यवाद। :) –

+0

अधिक सामान्य स्थिति: http://stackoverflow.com/questions/8717805/vary-point-color-in-gnuplot-based-on-value-of-one-column –

उत्तर

1

आप द्वारा

set palette defined (-0.1 "blue", 0 "red", 0.1 "blue") 
+0

यह लगभग तीन और नीले रंग में लाल रंग डालता है 0 और 6 और इस प्रकार ओपी के लक्ष्य को प्राप्त नहीं करता है। मैंने आपके विचार पर बनाया है, नीचे देखें! – vaettchen

25

पैलेट समायोजित कर सकते हैं यह शायद के करीब है कि आप क्या चाहते:

set palette model RGB defined (0 'red', 1 'green') 
plot[0:5][0:6] "file.dat" u 1:2:($3 == 0 ? 0 : 1) with points palette 

आप एक कदम आगे जाने के लिए और 'शोर' को दूर कर सकते हैं:

unset key 
unset colorbox 
plot[0:5][0:6] "file.dat" u 1:2:($3 == 0 ? 0 : 1) with points pt 7 ps 3 palette 

यदि शून्य और शून्य-शून्य मामलों के बीच केवल भिन्नता है।

+0

आपको धन्यवाद !!! यह काम! मैं मदद की सराहना करता हूं। – JessicaB

+6

@ जेसिकाबी: क्या आप इसे उत्तर के रूप में चिह्नित कर सकते हैं? – vaettchen

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

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