Matplotlib एडवांस्ड

imshow और कलरमैप से हीटमैप

ax.imshow, कलरमैप, कलरबार और हर सेल में मान के साथ 2D टेबल का हीटमैप बनाएँ।

परिचय

हीटमैप टेबल के हर सेल को उसके मान के हिसाब से रंग देता है, जिससे पंक्तियों और कॉलम के पैटर्न तुरंत दिखते हैं। ax.imshow 2D ऐरे को रंगीन सेल के रूप में बनाता है, कलरमैप (cmap) संख्याओं को रंगों में बदलता है, और fig.colorbar स्केल दिखाता है।

visits एक 7 × 6 ऐरे है: हर दिन के लिए एक पंक्ति और दिन के हर समय के लिए एक कॉलम। imshow पंक्ति 0 को सबसे ऊपर बनाता है, और set_xticks / set_yticks कॉलम और पंक्तियों को नाम देते हैं। दोहरा लूप ax.text(कॉलम, पंक्ति, ...) से हर मान उसके सेल में लिखता है। viridis जैसे क्रमिक कलरमैप कम से ज़्यादा मानों के लिए ठीक हैं; coolwarm जैसे डाइवर्जिंग कलरमैप बीच के मान से ऊपर-नीचे वाले मानों के लिए।

इंटरैक्टिव विज़ुअलाइज़र

दूसरे कलरमैप आज़माएँ, नंबर और कलरबार छिपाएँ। अच्छा कलरमैप ऊँचे और नीचे मानों को आसानी से अलग दिखाता है।

चलने वाला Matplotlib उदाहरण

Matplotlib
कोड चलाएँ →
main.py
import matplotlib.pyplot as plt
import numpy as np

days = ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"]
hours = ["6am", "9am", "12pm", "3pm", "6pm", "9pm"]
rng = np.random.default_rng(2)
visits = rng.integers(5, 60, size=(len(days), len(hours)))

fig, ax = plt.subplots(figsize=(7, 4))
image = ax.imshow(visits, cmap="viridis")
ax.set_xticks(range(len(hours)), hours)
ax.set_yticks(range(len(days)), days)
for row in range(len(days)):
    for col in range(len(hours)):
        ax.text(col, row, visits[row, col], ha="center", va="center", color="white", fontsize=8)
fig.colorbar(image, label="Visits")
ax.set_title("Website visits by day and hour")
plt.show()
इस उदाहरण के लिए Run बटन बनाएँ यह कोड जो चार्ट बनाता है
imshow और कलरमैप से हीटमैप