首頁 > 後端開發 > Python教學 > 如何建立尺寸靈活配置的 Matplotlib 子圖?

如何建立尺寸靈活配置的 Matplotlib 子圖?

Susan Sarandon
發布: 2024-12-15 06:55:12
原創
795 人瀏覽過

How Can I Create Matplotlib Subplots with Flexibly Configurable Sizes?

在 Matplotlib 中靈活配置子圖大小

創建不同大小的子圖是可視化資料時的常見要求。 Matplotlib 提供了兩種調整子圖尺寸的方法:使用 GridSpec 或配置圖形本身。

使用Matplotlib 的圖形調整子圖大小

在提供的範例中,任務是建立兩個子圖,第一個子圖比第二個子圖寬三倍。使用圖窗的建構函數,可以使用 Figsize 參數調整第一個圖的大小。但是,第二張圖的大小無法透過這種方式直接控制。

有關鍵字參數的解(Matplotlib >= 3.6.0)

自Matplotlib 版本起3.6.0,關鍵字參數可以直接傳遞給plt .subplots 和subplot_mosaic 來指定width_ratios 或子圖的height_ratios。這消除了針對此特定任務對 GridSpec 的需求。

import matplotlib.pyplot as plt

# Create subplots with custom width ratios
f, (a0, a1) = plt.subplots(1, 2, width_ratios=[3, 1])

# Plot on subplots
a0.plot(x, y)
a1.plot(y, x)

# Save to PDF
f.savefig('custom_width_subplots.pdf')
登入後複製

將子圖與Gridspec_kw 一起使用

對於Matplotlib 的早期版本,或者進行更細粒度的控制子圖佈局,可以使用帶有gridspec_kw參數的subplots 函數。此方法涉及建立圖形和單獨的子圖,並使用 gridspec_kw 字典中的 width_ratios 或 height_ratios 指定。

import numpy as np
import matplotlib.pyplot as plt

# Generate data
x = np.arange(0, 10, 0.2)
y = np.sin(x)

# Create subplots with custom width ratios
f, (a0, a1) = plt.subplots(1, 2, gridspec_kw={'width_ratios': [3, 1]})

# Plot on subplots
a0.plot(x, y)
a1.plot(y, x)

# Tighten layout and save to PDF
f.tight_layout()
f.savefig('grid_figure.pdf')
登入後複製

以上是如何建立尺寸靈活配置的 Matplotlib 子圖?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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