Data Visualization

Matplotlib हिस्टोग्राम में महारथ: सटीक बिन नियंत्रण

Spread the love

मैटप्लॉटलिब का hist() फलन डेटा वितरणों को दर्शाने के लिए शक्तिशाली उपकरण प्रदान करता है। हालाँकि, इसका डिफ़ॉल्ट स्वचालित बिनिंग कभी-कभी महत्वपूर्ण विवरणों को छुपा सकता है या गलत व्याख्याओं को जन्म दे सकता है। सटीक और व्यावहारिक दृश्य बनाने के लिए बिन आकार पर सटीक नियंत्रण आवश्यक है। यह लेख इसे प्राप्त करने के दो प्रभावी तरीकों का पता लगाता है।

विषयवस्तु की तालिका

सीधे बिन किनारों को निर्दिष्ट करना

बिन आकार को नियंत्रित करने का सबसे सीधा तरीका hist() फलन में bins पैरामीटर का उपयोग करके बिन किनारों को स्पष्ट रूप से परिभाषित करना है। यह प्रत्येक बिन की सीमाओं पर पूर्ण नियंत्रण प्रदान करता है।


import matplotlib.pyplot as plt
import numpy as np

# नमूना डेटा
data = np.random.randn(1000)

# बिन किनारों को परिभाषित करें (जैसे, -4 से 4 तक 0.5 चौड़ाई के बिन)
bin_edges = np.arange(-4, 4.1, 0.5)  

# हिस्टोग्राम बनाएँ
plt.hist(data, bins=bin_edges)
plt.xlabel("मान")
plt.ylabel("आवृत्ति")
plt.title("स्पष्ट रूप से परिभाषित बिन किनारों के साथ हिस्टोग्राम")
plt.show()

यह कोड -4 से 4 तक 0.5-चौड़ाई वाले बिन के साथ एक हिस्टोग्राम उत्पन्न करता है। bin_edges सरणी प्रत्येक बिन की सीमाओं को सटीक रूप से परिभाषित करती है। bin_edges में अंतिम मान अंतिम बिन की ऊपरी सीमा निर्धारित करता है। इस सीमा से बाहर के डेटा बिंदुओं को छोड़ दिया जाएगा। अपने डेटा और वांछित बिन चौड़ाई को शामिल करने के लिए आवश्यकतानुसार bin_edges को समायोजित करें।

वांछित चौड़ाई से बिन की गणना करना

वैकल्पिक रूप से, यदि आप वांछित बिन चौड़ाई जानते हैं लेकिन सटीक किनारों को नहीं जानते हैं, तो अपने डेटा की सीमा और वांछित चौड़ाई के आधार पर आवश्यक बिन की संख्या की गणना करें। मैटप्लॉटलिब तब स्वचालित रूप से उपयुक्त बिन किनारों का निर्धारण करेगा।


import matplotlib.pyplot as plt
import numpy as np

# नमूना डेटा
data = np.random.randn(1000)

# वांछित बिन चौड़ाई
bin_width = 0.5

# बिन की संख्या की गणना करें
data_min = np.min(data)
data_max = np.max(data)
num_bins = int((data_max - data_min) / bin_width)

# हिस्टोग्राम बनाएँ
plt.hist(data, bins=num_bins)
plt.xlabel("मान")
plt.ylabel("आवृत्ति")
plt.title("बिन की गणना की गई संख्या के साथ हिस्टोग्राम")
plt.show()

# बेहतर नियंत्रण के लिए, स्पष्ट रूप से बिन किनारों की गणना करें:
bin_edges = np.linspace(data_min, data_max, num_bins + 1) # समान अंतर के लिए linspace का प्रयोग करें
plt.hist(data, bins=bin_edges)
plt.xlabel("मान")
plt.ylabel("आवृत्ति")
plt.title("सटीक रूप से गणना किए गए बिन किनारों के साथ हिस्टोग्राम")
plt.show()

यह कोड पहले num_bins की गणना करता है। मैटप्लॉटलिब तब इसे स्वचालित रूप से बिन किनारों को समायोजित करने के लिए उपयोग करता है, यह सुनिश्चित करता है कि सभी डेटा बिंदु शामिल हैं। दूसरा भाग दर्शाता है कि अधिक सटीक नियंत्रण के लिए bin_edges की गणना कैसे करें। ध्यान दें कि मैटप्लॉटलिब इन किनारों को थोड़ा समायोजित कर सकता है।

इनमें से किसी भी विधि का उपयोग करके, आप अपने मैटप्लॉटलिब हिस्टोग्राम में बिनिंग को सटीक रूप से नियंत्रित कर सकते हैं, जिसके परिणामस्वरूप स्पष्ट और अधिक सूचनात्मक डेटा विज़ुअलाइज़ेशन होंगे। अपनी आवश्यकताओं और वांछित नियंत्रण स्तर के लिए सबसे उपयुक्त विधि चुनें।

प्रातिक्रिया दे

आपका ईमेल पता प्रकाशित नहीं किया जाएगा. आवश्यक फ़ील्ड चिह्नित हैं *