創建不同大小的子圖是可視化資料時的常見要求。 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中文網其他相關文章!