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

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

Patricia Arquette
Patricia Arquette原創
2024-12-06 03:26:12648瀏覽

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn