subplot_mosaic से जटिल लेआउट
plt.subplot_mosaic और चौड़ाई-ऊँचाई के अनुपात से अलग-अलग साइज़ के चार्ट वाले फ़िगर बनाएँ।
परिचय
plt.subplots एक बराबर ग्रिड बनाता है, पर असली फ़िगर में अक्सर एक बड़ा मुख्य चार्ट और उसके आसपास छोटे चार्ट चाहिए होते हैं। plt.subplot_mosaic से आप लेआउट को पंक्तियों की लिस्ट की तरह बना सकते हैं और हर चार्ट को नाम दे सकते हैं।
हर अंदरूनी लिस्ट एक पंक्ति है और हर नाम एक चार्ट; कई सेल में दोहराया गया नाम बड़ा चार्ट बनाता है, और "." सेल खाली छोड़ता है। axes एक डिक्शनरी है, इसलिए axes["main"] स्कैटर प्लॉट है। gridspec_kw सापेक्ष साइज़ तय करता है: मुख्य कॉलम दाएँ कॉलम से चार गुना चौड़ा है। किनारों के हिस्टोग्राम दिखाते हैं कि x और y कैसे फैले हैं।
इंटरैक्टिव विज़ुअलाइज़र
एक लेआउट चुनें और साइज़ अनुपात चालू-बंद करें। मोज़ेक का हर नाम एक चार्ट बन जाता है।
चलने वाला Matplotlib उदाहरण
Matplotlib
main.py
import matplotlib.pyplot as plt
import numpy as np
rng = np.random.default_rng(4)
x = rng.normal(size=300)
y = 0.6 * x + rng.normal(scale=0.8, size=300)
fig, axes = plt.subplot_mosaic([["top", "."], ["main", "right"]], figsize=(6, 6),
gridspec_kw={"width_ratios": [4, 1], "height_ratios": [1, 4]})
axes["main"].scatter(x, y, s=10, alpha=0.6)
axes["top"].hist(x, bins=30)
axes["right"].hist(y, bins=30, orientation="horizontal")
axes["top"].axis("off")
axes["right"].axis("off")
fig.suptitle("Scatter plot with marginal histograms")
plt.show()
