2013-08-26 8 views
6

साथ एक ही समय में दो हिस्टोग्राम की साजिश रचने का कहना है कि मुझे दो हिस्टोग्राम है और मैं hist के पैरामीटर का उपयोग अस्पष्टता सेट करते हैं गुमराह: 'अल्फा = 0.5'अपारदर्शिता जब matplotlib

मैं दो हिस्टोग्राम साजिश रची है अभी तक मैं तीन मिल रंग की! मैं समझता हूं कि यह एक अस्पष्ट दृष्टिकोण से समझ में आता है।

लेकिन! यह किसी को तीन रंगों के साथ दो चीजों का ग्राफ दिखाने के लिए बहुत भ्रमित करता है। क्या मैं किसी भी तरह से किसी भी अस्पष्टता के सामने होने के लिए प्रत्येक बिन के लिए सबसे छोटी बार सेट कर सकता हूं?

उदाहरण ग्राफ

enter image description here

+2

यदि आप वास्तव में सफेद रंग के ऊपर पारदर्शी रंग का रंग क्या है और रंग के अपारदर्शी सलाखों का उपयोग करने के बजाय वास्तव में 'अल्फा <1' रखना चाहते हैं तो यह नहीं है। – tacaswell

+2

आपको उस कोड को शामिल करना चाहिए जिसका उपयोग आपने साजिश का उत्पादन करने के लिए किया है, क्योंकि आपके मौजूदा कोड को ठीक करने के बजाय कम लोग आपके लिए संपूर्ण कोड लिखने की संभावना रखते हैं। – hooy

+0

इस ग्राफ को उत्पन्न करने के लिए आपने जिस कोड का उपयोग किया है? –

उत्तर

8

हमेशा की तरह इस मुद्दे को नियंत्रित किया जाता है कुछ छोटे जुदाई के साथ भूखंडों है। यह डिफ़ॉल्ट रूप से किया जाता है जब plt.hist डेटा के एकाधिक सेट दिया जाता है:

import pylab as plt 

x = 200 + 25*plt.randn(1000) 
y = 150 + 25*plt.randn(1000) 
n, bins, patches = plt.hist([x, y]) 

आप के बजाय उन्हें (इस तर्क histtype='barstacked' का उपयोग करके उपरोक्त किया जा सकता है) ढेर लेकिन ध्यान दें कि आदेश गलत है जो करने के लिए ।

यह व्यक्तिगत रूप से प्रत्येक जोड़ी को देखने के लिए अलग-अलग देखकर तय किया जा सकता है और फिर zorder का उपयोग करके सेट किया जा सकता है। सरलता के लिए मैं ऊपर कोड के उत्पादन में उपयोग कर रहा हूँ (जैसे n है दो खड़ी x और y के लिए प्रत्येक बिन में अंकों की संख्या के एरे): enter image description here

:

n_x = n[0] 
n_y = n[1] 
for i in range(len(n[0])): 
    if n_x[i] > n_y[i]: 
     zorder=1 
    else: 
     zorder=0 
    plt.bar(bins[:-1][i], n_x[i], width=10) 
    plt.bar(bins[:-1][i], n_y[i], width=10, color="g", zorder=zorder) 

यहाँ जिसके परिणामस्वरूप छवि है

इस तरह के ऑर्डर को बदलकर छवि वास्तव में बहुत अजीब लगती है, शायद यही कारण है कि इसे लागू नहीं किया गया है और इसे करने के लिए हैक की आवश्यकता है। मैं छोटी अलगाव विधि के साथ रहूंगा, इन भूखंडों में इस्तेमाल होने वाले किसी भी व्यक्ति को लगता है कि वे एक ही एक्स-वैल्यू लेते हैं।