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

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

Patricia Arquette
發布: 2024-12-06 03:26:12
原創
687 人瀏覽過

Matplotlib 中的子圖與眾多圖重疊

在Matplotlib 中產生一系列垂直堆疊圖以在網頁上顯示時,確保子圖之間適當的間距對於防止重疊至關重要。儘管增加了圖形大小,但子圖經常重疊。

目前實作

以下程式碼說明了目前實作:

import matplotlib.pyplot as plt
import my_other_module

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)
fig.savefig('out.png', dpi=100)
登入後複製

解決方案:緊密佈局

解決方案:緊密佈局

解決方案:緊密佈局

import matplotlib.pyplot as plt

fig, axes = plt.subplots(nrows=4, ncols=4, figsize=(8, 8))
fig.tight_layout() # Or equivalently,  "plt.tight_layout()"

plt.show()
登入後複製
解決方案:緊密佈局

解決方案:緊密佈局要解決此問題,請考慮使用matplotlib.pyplot.tight_layout 或matplotlib.figure.Figure.tight_layout。這些函數調整子圖和間距,使它們不重疊。

示例

How Can I Prevent Overlapping Subplots in Matplotlib When Creating Many Vertically Stacked Plots?
視覺比較

下圖展示了使用的影響strict_layout:

不含ight_layoutHow Can I Prevent Overlapping Subplots in Matplotlib When Creating Many Vertically Stacked Plots?

有tight_layout

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

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