डाटा वितरणों का दृश्यीकरण प्रभावी डेटा विश्लेषण का एक आधारशिला है, और इसके लिए हिस्टोग्राम एक शक्तिशाली उपकरण हैं। अक्सर, विश्लेषकों को दो या अधिक डेटासेट के वितरणों की तुलना करने की आवश्यकता होती है। मैटप्लॉटलिब, एक व्यापक रूप से उपयोग किया जाने वाला पायथन प्लॉटिंग लाइब्रेरी, इसे प्राप्त करने के लिए कई सुंदर तरीके प्रदान करता है। यह लेख मैटप्लॉटलिब में कई हिस्टोग्राम प्लॉट करने के तीन प्रमुख तरीकों की खोज करता है, जिसमें उदाहरण और स्पष्टीकरण भी शामिल हैं।
विषयसूची
- विधि 1: हिस्टोग्राम ओवरले करना
- विधि 2: साथ-साथ हिस्टोग्राम
- विधि 3: हिस्टोग्राम की उपस्थिति को अनुकूलित करना
- निष्कर्ष
- अक्सर पूछे जाने वाले प्रश्न
विधि 1: हिस्टोग्राम ओवरले करना
सबसे सरल तरीके में सीधे एक ही अक्ष पर हिस्टोग्राम ओवरले करना शामिल है। यह आकृतियों और वितरणों की तत्काल दृश्य तुलना प्रदान करता है। हालाँकि, यदि वितरण बहुत समान हैं या यदि डेटा घनत्व अधिक है, तो यह विधि कम प्रभावी हो सकती है, जिससे विवरण छिप जाते हैं। इस समस्या को कम करने के लिए पारदर्शिता महत्वपूर्ण है।
import matplotlib.pyplot as plt
import numpy as np
# नमूना डेटा
data1 = np.random.randn(1000)
data2 = np.random.randn(1000) + 1 # बेहतर दृश्यीकरण के लिए स्थानांतरित किया गया
# प्लॉटिंग
plt.hist(data1, alpha=0.5, label='Data 1', bins=30)
plt.hist(data2, alpha=0.5, label='Data 2', bins=30)
plt.xlabel('मान')
plt.ylabel('आवृत्ति')
plt.title('ओवरले किए गए हिस्टोग्राम')
plt.legend(loc='upper right')
plt.show()
यह कोड पारदर्शिता को नियंत्रित करने के लिए alpha
पैरामीटर का उपयोग करता है, जिससे दोनों हिस्टोग्राम स्पष्ट रूप से दिखाई दे सकते हैं। आसान पहचान के लिए लेबल जोड़े गए हैं, और एक किंवदंती स्पष्टता को बढ़ाती है।
विधि 2: साथ-साथ हिस्टोग्राम
बेहतर स्पष्टता के लिए, विशेष रूप से समान वितरणों की तुलना करते समय, साथ-साथ हिस्टोग्राम की दृढ़ता से अनुशंसा की जाती है। मैटप्लॉटलिब की सबप्लॉट कार्यक्षमता इसे सरल बनाती है।
import matplotlib.pyplot as plt
import numpy as np
# नमूना डेटा (ऊपर जैसा ही)
data1 = np.random.randn(1000)
data2 = np.random.randn(1000) + 1
# साथ-साथ प्लॉटिंग
fig, axes = plt.subplots(1, 2, figsize=(10, 5))
axes[0].hist(data1, bins=20)
axes[0].set_title('Data 1')
axes[0].set_xlabel('मान')
axes[0].set_ylabel('आवृत्ति')
axes[1].hist(data2, bins=20)
axes[1].set_title('Data 2')
axes[1].set_xlabel('मान')
axes[1].set_ylabel('आवृत्ति')
plt.tight_layout()
plt.show()
यह कोड दो सबप्लॉट के साथ एक आकृति बनाता है, प्रत्येक एक एकल हिस्टोग्राम के लिए समर्पित है। plt.tight_layout()
सबप्लॉट के बीच उचित अंतर सुनिश्चित करता है।
विधि 3: हिस्टोग्राम की उपस्थिति को अनुकूलित करना
आगे दृश्य भेद को बढ़ाया जा सकता है विभिन्न रंगों, किनारे के रंगों, रेखा शैलियों, या यहां तक कि हिस्टोग्राम प्रकारों (जैसे, बार बनाम चरण) को नियोजित करके।
import matplotlib.pyplot as plt
import numpy as np
# नमूना डेटा (ऊपर जैसा ही)
data1 = np.random.randn(1000)
data2 = np.random.randn(1000) + 1
# विभिन्न शैलियों के साथ प्लॉटिंग
plt.hist(data1, bins=20, color='skyblue', edgecolor='black', label='Data 1')
plt.hist(data2, bins=20, color='coral', edgecolor='black', alpha=0.7, label='Data 2', histtype='step')
plt.xlabel('मान')
plt.ylabel('आवृत्ति')
plt.title('विभिन्न शैलियों के साथ हिस्टोग्राम')
plt.legend()
plt.show()
यह उदाहरण विभिन्न रंगों, किनारे के रंगों और दृश्य रूप से अलग हिस्टोग्राम बनाने के लिए histtype
पैरामीटर के उपयोग को दर्शाता है। उचित लेबलिंग के लिए किंवदंती महत्वपूर्ण बनी हुई है।
निष्कर्ष
मैटप्लॉटलिब डेटा वितरणों के सूचनात्मक दृश्य बनाने के लिए एक लचीला और शक्तिशाली टूलकिट प्रदान करता है। कई हिस्टोग्राम प्लॉट करने की विधि का चुनाव डेटा की विशिष्ट विशेषताओं और तुलना में वांछित विवरण के स्तर पर बहुत अधिक निर्भर करता है। अतिव्यापी हिस्टोग्राम त्वरित जांच के लिए उपयुक्त हैं, जबकि साथ-साथ और अनुकूलित प्लॉट बेहतर स्पष्टता और दृश्य प्रभाव प्रदान करते हैं।
अक्सर पूछे जाने वाले प्रश्न
- प्रश्न: मैं बिन की संख्या कैसे समायोजित करूँ? उत्तर:
plt.hist()
मेंbins
पैरामीटर का उपयोग करें। डेटा की संरचना को सबसे अच्छी तरह से प्रकट करने के लिए प्रयोग करें। - प्रश्न: क्या मैं विभिन्न रंगों और लेबल का उपयोग कर सकता हूँ? उत्तर: बिलकुल!
color
औरlabel
पैरामीटर का उपयोग करें, और हमेशाplt.legend()
का उपयोग करके एक किंवदंती शामिल करें। - प्रश्न: मैं प्लॉट को कैसे सहेज सकता हूँ? उत्तर: अपने प्लॉट को सहेजने के लिए
plt.savefig('filename.png')
(या एक समान फ़ंक्शन) का उपयोग करें।'filename.png'
को अपनी पसंदीदा फ़ाइल नाम और एक्सटेंशन से बदलें। - प्रश्न: मेरे हिस्टोग्राम बहुत अधिक ओवरलैप हो रहे हैं। मैं क्या कर सकता हूँ? उत्तर: साथ-साथ हिस्टोग्राम आज़माएँ, पारदर्शिता (
alpha
) बढ़ाएँ, विभिन्नhisttype
विकल्पों का उपयोग करें, या यदि पैमाने काफी भिन्न हैं तो अपने डेटा को सामान्य करने पर विचार करें।