2013-04-10 5 views
7

मैं अपनी साजिश के मार्करों को रंग-कोड करने की कोशिश कर रहा हूं।रंग कोडिंग matplotlib मार्कर

विचार है वहाँ एक्स, वाई और Z मानों हैं कि - x और y युक्त निर्देशांक, जेड 0 और 150

बीच की एक संख्या प्रत्येक समन्वय (यानी, एक्स, वाई-जोड़ी) के लिए इसी युक्त

अब, मुझे प्रत्येक समन्वय के लिए एक वर्ग प्लॉट करने की आवश्यकता है, जिसे मैं pyplot.plot(x,y, ls='s') के साथ पूरा करता हूं, जहां मैं मार्कर एज और फेस रंग अलग से सेट कर सकता हूं। आमतौर पर, उन सभी वर्गों में एक ही रंग होता है।

क्या मैं कोशिश कर रहा हूँ उदाहरण के लिए, z के मूल्य के अनुसार रंग बदलने के लिए है

z = 0-30: काला, 30-60: नीला, 60-90: हरे, 90-120: पीला, 120-150: लाल

मैंने उन डिब्बे को डेटा कताई करने की कोशिश की, लेकिन मुझे नहीं पता कि रंगों को कैसे मैप करना है और इसके अनुसार इसे साजिश करना है।

कोई सुझाव? धन्यवाद!

+1

http://stackoverflow.com/q/15554939/932593 –

+0

का संभावित डुप्लिकेट धन्यवाद, यह वादा करता है, मैं इसे देख लूंगा! – frixhax

+0

यह समान होगा (सिवाय इसके कि मैं एक छवि को प्लॉट नहीं करना चाहता), लेकिन जैसा कि नीचे दी गई टिप्पणी में वर्णित है, मुझे त्रुटि मिलती है, सी = रंग और रंग जेड मानों की मेरी सूची होने के साथ, सी दो आयामी होना चाहिए । मैंने पाया कि सभी उदाहरणों में, यह मामला नहीं है। – frixhax

उत्तर

2

अलग एक्स, वाई (प्रत्येक जेड रेंज के लिए 1 जोड़ी) में एक्स, वाई निर्देशांक स्टोर करें, फिर उन्हें कई प्लॉट लाइनों द्वारा प्लॉट करें।

वैचारिक उदाहरण:

X1,Y1 = """store your Z0-30 here""" 
X2,Y2 = """store your z30-60 here""" 
X3,Y3 = """store your z60-z90 here""" 
X4,Y4 = """store your z90-120 here""" 
X5,Y5 = """store your z120-150 here""" 
fig=plt.figure() 
pyplot.plot(X1,Y1,color='black') 
pyplot.plot(X2,Y2,color='blue') 
pyplot.plot(X3,Y3,color='green') 
pyplot.plot(X4,Y4,color='yellow') 
pyplot.plot(X5,Y5,color='red') 
plt.show() 

मैं एक scatter साजिश का उपयोग कर सुझाव है, यह एक बहुत अधिक है कि तुम क्या वर्णन करने के लिए उपयुक्त लगता है। उस मामले में pyplot.plot को pyplot.scatter में बदलें। आप जेड अक्ष द्वारा उन्हें रंगने के लिए एक cmap का उपयोग कर सकते हैं। आप this उदाहरण में प्रदर्शित प्रत्येक समूह को कस्टम मार्कर भी असाइन कर सकते हैं।

+0

धन्यवाद, लेकिन यह वही है जो मैं नहीं करना चाहता - इसे मैन्युअल रूप से डिब्बे और फिर रंगों में असाइन करना। – frixhax

+0

स्कैटर प्लॉट का उपयोग करें, जैसा कि मैंने सुझाव दिया है कि –

+0

स्कैटर के साथ समस्या यह है कि मैं स्क्वायर मार्कर की किनार मोटाई को केवल आकार में नहीं बदल सकता। मुझे एक विशिष्ट वर्ग आकार और आकार की आवश्यकता है (आदर्श रूप से अक्ष इकाइयों में परिभाषित किया गया है, लेकिन ऐसा करने का कोई आसान तरीका नहीं है)। – frixhax

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