首頁 > 後端開發 > Python教學 > 在 Matplotlib 中建立許多子圖時如何防止子圖重疊?

在 Matplotlib 中建立許多子圖時如何防止子圖重疊?

DDD
發布: 2024-12-13 01:31:09
原創
118 人瀏覽過

How Can I Prevent Subplot Overlap When Creating Many Subplots in Matplotlib?

優化Matplotlib 中眾多子圖的子圖外觀

使用matplotlib 創建複雜的可視化效果時,通常需要垂直堆疊顯示多個子圖。然而,在這些子圖之間調整適當的間距以防止重疊可能是一個挑戰。

要解決此問題,請考慮以下解決方案:

import matplotlib.pyplot as plt

titles, x_lists, y_lists = my_other_module.get_data()

fig = plt.figure(figsize=(10,60))
for i, y_list in enumerate(y_lists):
    plt.subplot(len(titles), 1, i)
    plt.xlabel("Some X label")
    plt.ylabel("Some Y label")
    plt.title(titles[i])
    plt.plot(x_lists[i],y_list)

# Adjust subplot spacing
plt.tight_layout()  # Or equivalently, "plt.figure.Figure.tight_layout()"

fig.savefig('out.png', dpi=100)
登入後複製

plt.tight_layout() 函數自動調整子圖間距,確保子圖整齊地位於圖窗邊界內。此功能在產生大量子圖且不受圖形高度限制時特別有用。

作為參考,下圖示範了使用 plt.tight_layout() 的影響:

沒有緊密佈局

[重疊的圖像子圖]

佈局緊湊

[適當間隔子圖的圖像]

以上是在 Matplotlib 中建立許多子圖時如何防止子圖重疊?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板