Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

Matplotlib/Seaborn में काउंटप्लॉट के बार पर गिनती मान दिखाएं

Seaborn के countplot में प्रत्येक बार के ऊपर गिनती मान दिखाने के लिए ax.annotate() का उपयोग करें।

चरण

  1. फिगर आकार सेट करें और पैडिंग समायोजित करें
  2. एक कॉलम वाला Pandas DataFrame बनाएं
  3. sns.countplot() से काउंटप्लॉट बनाएं
  4. लौटे हुए एक्सिस के पैचेज़ पर पुनरावृति करके बार के ऊपर मान दिखाएं
  5. plt.show() से प्रदर्शित करें

उदाहरण

import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd

plt.rcParams["figure.figsize"] = [7.00, 3.50]
plt.rcParams["figure.autolayout"] = True

# डेटा बनाएं
df = pd.DataFrame(dict(col1=np.array([2, 4, 1, 1, 1, 4])))

# काउंटप्लॉट बनाएं
ax = sns.countplot(x="col1", data=df)

# प्रत्येक बार के ऊपर गिनती दिखाएं
for p in ax.patches:
    ax.annotate('{:.1f}'.format(p.get_height()),
                (p.get_x() + 0.25, p.get_height() + 0.01))

plt.show()

आउटपुट

बार चार्ट जहां प्रत्येक बार के ऊपर उसकी गिनती (1.0, 3.0, 2.0 आदि) प्रदर्शित होती है।

सुधारित संस्करण

for p in ax.patches:
    height = p.get_height()
    ax.annotate(f'{int(height)}',  # पूर्णांक के रूप में दिखाएं
                (p.get_x() + p.get_width() / 2., height),
                ha='center', va='bottom',
                fontsize=12, fontweight='bold')

मुख्य बिंदु

  • ax.patches बार पैचेज़ की सूची देता है
  • p.get_height() बार की ऊंचाई (गिनती) देता है
  • p.get_x() + p.get_width()/2 बार का केंद्र x-निर्देशांक देता है
  • ha='center', va='bottom' टेक्स्ट को बार के ऊपर केंद्रित करता है
  1. Python Matplotlib में बार प्लॉट के बार्स के ऊपर टेक्स्ट कैसे लिखें? Python Matplotlib में बार प्लॉट के बार्स के ऊपर टेक्स्ट कैसे लिखें?

    बार प्लॉट के प्रत्येक बार के ऊपर उसका मान दिखाने के लिए पैचेज़ को इन्यूमरेट करके ax.text() का उपयोग करें। चरण फिगर साइज़ और ऑटोलेआउट सेट करें। वर्ष, जनसंख्या डेटा और x पोजीशन ऐरे बनाएं। ax.bar() से बार्स प्लॉट करें और पैचेज़ प्राप्त करें। प्रत्येक पैच के लिए get_height(), get_x(), get_width() से पो

  1. Matplotlib में लीजेंड में केवल टेक्स्ट लेबल कैसे दिखाएं (मार्कर/लाइन छुपाएं)? Matplotlib में लीजेंड में केवल टेक्स्ट लेबल कैसे दिखाएं (मार्कर/लाइन छुपाएं)?

    लीजेंड में केवल टेक्स्ट दिखाने के लिए legend() में handlelength=0, handletextpad=0, fancybox=False सेट करें। चरण फिगर साइज़ और ऑटोलेआउट सेट करें। रैंडम डेटा प्लॉट करें और लेबल दें। ax.legend(loc=upper right, handlelength=0, handletextpad=0, fancybox=True) से लीजेंड बनाएं। plt.show() से दिखाएं। उदा

  1. Flask में Matplotlib कैसे दिखाएं? Flask में Matplotlib कैसे दिखाएं?

    Flask में प्लॉट दिखाने के लिए, हम निम्नलिखित चरण अपना सकते हैं: एक छोटा एप्लिकेशन बनाएं। Flask एप्लिकेशन चलाने के लिए, वर्तमान डायरेक्टरी पर जाएं। $ export FLASK_APP=file.py $ flask run ब्राउज़र खोलें, यूआरएल हिट करें: https://127.0.0.1:5000/print-plot/ फिगर प्लॉट करने के लिए, हम रैंडम