Matplotlib में बार चार्ट के मानों को प्रतिशत के रूप में प्रदर्शित करने के लिए annotate() मेथड का उपयोग करें।
चरण
- फिगर आकार सेट करें और पैडिंग समायोजित करें
- आवृत्तियों (frequencies) की सूची बनाएं
- नया फिगर बनाएं
bar()मेथड से बार प्लॉट बनाएं- बार प्लॉट पर पुनरावृति करके प्रत्येक पैच की ऊंचाई ज्ञात करें और
annotate()से प्रतिशत दिखाएं plt.show()से प्रदर्शित करें
उदाहरण
import numpy as np
from matplotlib import pyplot as plt
plt.rcParams["figure.figsize"] = [7.00, 3.50]
plt.rcParams["figure.autolayout"] = True
frequencies = [7, 8, 5, 3, 6]
plt.figure()
# बार प्लॉट बनाएं
p1 = plt.bar(np.arange(len(frequencies)), frequencies)
# प्रत्येक बार के ऊपर प्रतिशत दिखाएं
for rect1 in p1:
height = rect1.get_height()
plt.annotate("{}%".format(height),
(rect1.get_x() + rect1.get_width() / 2, height + 0.05),
ha="center", va="bottom", fontsize=15)
plt.show()
आउटपुट
बार चार्ट जहां प्रत्येक बार के ऊपर मान प्रतिशत के रूप में दिखाए गए हैं (7%, 8%, 5%, 3%, 6%)।
सुधारित संस्करण: वास्तविक प्रतिशत गणना
frequencies = [7, 8, 5, 3, 6]
total = sum(frequencies)
p1 = plt.bar(np.arange(len(frequencies)), frequencies)
for rect1 in p1:
height = rect1.get_height()
percentage = height / total * 100
plt.annotate(f"{percentage:.1f}%",
(rect1.get_x() + rect1.get_width() / 2, height + 0.05),
ha="center", va="bottom", fontsize=12)
मुख्य बिंदु
rect.get_height()बार का मान देता हैrect.get_x() + rect.get_width()/2बार का केंद्र देता हैha='center', va='bottom'टेक्स्ट को बार के ऊपर केंद्रित करता है- यदि डेटा पहले से प्रतिशत है, तो सीधे उपयोग करें; अन्यथा कुल से प्रतिशत गणना करें