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

Matplotlib में टेबल को X-अक्ष से संरेखित करें

Matplotlib में बार चार्ट के नीचे टेबल को X-अक्ष के साथ संरेखित करने के लिए plt.table() का उपयोग करें और loc='bottom' सेट करें।

चरण

  1. फिगर आकार सेट करें और पैडिंग समायोजित करें
  2. DataFrame के लिए डेटा सूची बनाएं
  3. DataFrame कॉलम का टपल बनाएं
  4. पंक्तियों और मानों की सूची बनाएं
  5. value_increment वेरिएबल इनिशियलाइज़ करें
  6. डेटा बिंदुओं के साथ बार प्लॉट बनाएं
  7. डेटा को टेबल में डालें
  8. Y-लेबल, Y-टिक्स, X-टिक्स, और प्लॉट शीर्षक सेट करें
  9. plt.show() से प्रदर्शित करें

उदाहरण

import numpy as np
import matplotlib.pyplot as plt

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

# आपदा हानि डेटा (हजारों डॉलर में)
data = [
    [66386, 174296, 75131, 577908, 32015],
    [58230, 381139, 78045, 99308, 160454],
    [89135, 80552, 152558, 497981, 603535],
    [78415, 81858, 150656, 193263, 69638],
    [139361, 331509, 343164, 781380, 52269]
]

columns = ('Freeze', 'Wind', 'Flood', 'Quake', 'Hail')
rows = ['%d year' % x for x in (100, 50, 20, 10, 5)]
values = np.arange(0, 2500, 500)
value_increment = 1000

# रंग मानचित्र
colors = plt.cm.BuPu(np.linspace(0, 0.5, len(rows)))

n_rows = len(data)
index = np.arange(len(columns)) + 0.3
bar_width = 0.4

# स्टैक्ड बार चार्ट बनाएं
y_offset = np.zeros(len(columns))
cell_text = []

for row in range(n_rows):
    plt.bar(index, data[row], bar_width, bottom=y_offset, color=colors[row])
    y_offset = y_offset + data[row]
    cell_text.append(['%1.1f' % (x / 1000.0) for x in y_offset])

# टेबल के लिए रंग और टेक्स्ट उल्टा करें (ताकि अंतिम पंक्ति ऊपर हो)
colors = colors[::-1]
cell_text.reverse()

# टेबल बनाएं (नीचे संरेखित)
the_table = plt.table(cellText=cell_text,
                      rowLabels=rows,
                      rowColours=colors,
                      colLabels=columns,
                      loc='bottom')

# लेआउट समायोजित करें ताकि टेबल फिट हो
plt.subplots_adjust(left=0.2, bottom=0.2)

plt.ylabel("Loss in ${0}'s".format(value_increment))
plt.yticks(values * value_increment, ['%d' % val for val in values])
plt.xticks([])
plt.title('Loss by Disaster')
plt.show()

आउटपुट

स्टैक्ड बार चार्ट जिसके नीचे संरेखित टेबल है। टेबल पंक्तियाँ बार चार्ट के स्टैक से मेल खाती हैं, संचयी मान दिखाती हैं।

मुख्य तकनीकें

  • loc='bottom' टेबल को X-अक्ष के नीचे रखता है
  • subplots_adjust(bottom=0.2) टेबल के लिए जगह बनाता है
  • cellText में संचयी मान (हजारों में) होते हैं
  • rowColours पंक्ति रंग बार रंगों से मेल खाते हैं
  • उल्टा क्रम ([::-1]) इसलिए क्योंकि बार नीचे से ऊपर बनते हैं

उपयोग के मामले

स्टैक्ड बार चार्ट के साथ संचयी डेटा टेबल दिखाने के लिए आदर्श, विशेष रूप से वित्तीय/सांख्यिकीय रिपोर्ट्स में।

  1. Python Matplotlib में लीजेंड में केवल कुछ आइटम दिखाना Python Matplotlib में लीजेंड में केवल कुछ आइटम दिखाना

    plt.legend() का उपयोग करके, हम सूची में मान डालकर केवल कुछ आइटम जोड़ या दिखा सकते हैं। चरण plt.xlabel() मेथड का उपयोग करके X-अक्ष लेबल सेट करें। plt.ylabel() मेथड का उपयोग करके Y-अक्ष लेबल सेट करें। plot() मेथड आर्गुमेंट में पास की गई सूचियों का उपयोग करके लाइन प्लॉट करें। स्थान और legend_drawn फ्

  1. Python के Pandas में डेटाफ्रेम से Matplotlib स्कैटर प्लॉट बनाना Python के Pandas में डेटाफ्रेम से Matplotlib स्कैटर प्लॉट बनाना

    Pandas का उपयोग करके, हम एक डेटाफ्रेम बना सकते हैं और subplot() मेथड का उपयोग करके चित्र और अक्ष वेरिएबल बना सकते हैं। उसके बाद, हम आवश्यक प्लॉट प्राप्त करने के लिए ax.scatter() मेथड का उपयोग कर सकते हैं। चरण छात्रों की संख्या की सूची बनाएं। छात्रों द्वारा प्राप्त अंकों की सूची बनाएं। प्रत्येक स्क

  1. Python में matplotlib का उपयोग करके एक पेज पर कई प्लॉट कैसे बनाएं? Python में matplotlib का उपयोग करके एक पेज पर कई प्लॉट कैसे बनाएं?

    Pandas का उपयोग करके, हम एक डेटा फ्रेम बना सकते हैं और एक चित्र और अक्ष बना सकते हैं। उसके बाद, हम बिंदु बनाने के लिए scatter मेथड का उपयोग कर सकते हैं। चरण छात्रों, उनके द्वारा प्राप्त अंकों और प्रत्येक स्कोर के लिए रंग कोडिंग की सूचियां बनाएं। चरण 1 के डेटा के साथ Panda के DataFrame का उपयोग करक