本文簡要介紹 python 語言中 matplotlib.pyplot.subplots
的用法。
-
創建一個圖形和一組子圖。
這個實用程序包裝器可以方便地在一次調用中創建子圖的公共布局,包括封閉的圖形對象。
- 參數:
- nrows, ncols 整數,默認值:1
-
子圖網格的行/列數。
- sharex, sharey bool 或 {'none', 'all', 'row', 'col'},默認值:False
-
控製 x (
sharex
) 或 y (sharey
) 軸之間的屬性共享:-
True 或 'all':x 軸或 y 軸將在所有子圖中共享。
-
錯誤或'none':每個子圖的 x 軸或 y 軸都是獨立的。
-
'row':每個子圖行將共享一個 x 軸或 y 軸。
-
'col':每個子圖列將共享一個 x 軸或 y 軸。
當子圖沿列具有共享 x 軸時,僅創建底部子圖的 x 刻度標簽。類似地,當子圖在一行上有一個共享的 y 軸時,隻會創建第一列子圖的 y 刻度標簽。要稍後打開其他子圖的刻度標簽,請使用
tick_params
。當子圖有一個具有單位的共享軸時,調用
set_units
將使用新單位更新每個軸。 -
- squeeze 布爾值,默認值:真
-
-
如果為 True,則從返回的
Axes
數組中擠出額外的維度:-
如果僅構造一個子圖 (nrows=ncols=1),則生成的單個 Axes 對象作為標量返回。
-
對於 Nx1 或 1xM 子圖,返回的對象是 Axes 對象的一維 numpy 對象數組。
-
對於 NxM,N>1 和 M>1 的子圖作為二維數組返回。
-
-
如果為 False,則根本不進行任何壓縮:返回的 Axes 對象始終是包含 Axes 實例的 2D 數組,即使它最終是 1x1。
-
- width_ratios 長度類似數組
ncols
,可選 -
定義列的相對寬度。每列的相對寬度為
width_ratios[i] / sum(width_ratios)
。如果未給出,所有列將具有相同的寬度。相當於gridspec_kw={'width_ratios': [...]}
。 - height_ratios 長度類似數組
nrows
,可選 -
定義行的相對高度。每行的相對高度為
height_ratios[i] / sum(height_ratios)
。如果沒有給出,所有行將具有相同的高度。方便gridspec_kw={'height_ratios': [...]}
。 - subplot_kw 字典,可選
-
帶有傳遞給
add_subplot
調用的關鍵字的字典,用於創建每個子圖。 - gridspec_kw 字典,可選
-
帶有傳遞給
GridSpec
構造函數的關鍵字的字典,用於創建放置子圖的網格。 - **fig_kw
-
所有其他關鍵字參數都傳遞給
pyplot.figure
調用。
- 返回:
- fig
Figure
- ax
Axes
或軸數組 -
ax
可以是單個Axes
對象,也可以是一組 Axes 對象(如果創建了多個子圖)。結果數組的尺寸可以使用擠壓關鍵字控製,請參見上文。處理返回值的典型習慣用法是:
# using the variable ax for single a Axes fig, ax = plt.subplots() # using the variable axs for multiple Axes fig, axs = plt.subplots(2, 2) # using tuple unpacking for multiple Axes fig, (ax1, ax2) = plt.subplots(1, 2) fig, ((ax1, ax2), (ax3, ax4)) = plt.subplots(2, 2)
名稱
ax
和複數axs
優於axes
,因為對於後者,不清楚它是指單個Axes
實例還是這些實例的集合。
- fig
例子
# First create some toy data: x = np.linspace(0, 2*np.pi, 400) y = np.sin(x**2) # Create just a figure and only one subplot fig, ax = plt.subplots() ax.plot(x, y) ax.set_title('Simple plot') # Create two subplots and unpack the output array immediately f, (ax1, ax2) = plt.subplots(1, 2, sharey=True) ax1.plot(x, y) ax1.set_title('Sharing Y axis') ax2.scatter(x, y) # Create four polar axes and access them through the returned array fig, axs = plt.subplots(2, 2, subplot_kw=dict(projection="polar")) axs[0, 0].plot(x, y) axs[1, 1].scatter(x, y) # Share a X axis with each column of subplots plt.subplots(2, 2, sharex='col') # Share a Y axis with each row of subplots plt.subplots(2, 2, sharey='row') # Share both X and Y axes with all subplots plt.subplots(2, 2, sharex='all', sharey='all') # Note that this is the same as plt.subplots(2, 2, sharex=True, sharey=True) # Create figure number 10 with a single subplot # and clears it if it already exists. fig, ax = plt.subplots(num=10, clear=True)
用法
matplotlib.pyplot.subplots(nrows=1, ncols=1, *, sharex=False, sharey=False, squeeze=True, width_ratios=None, height_ratios=None, subplot_kw=None, gridspec_kw=None, **fig_kw)
相關用法
- Python matplotlib subplot2grid用法及代碼示例
- Python matplotlib subplot用法及代碼示例
- Python matplotlib silent_list用法及代碼示例
- Python matplotlib step用法及代碼示例
- Python matplotlib select_matching_signature用法及代碼示例
- Python matplotlib semilogx用法及代碼示例
- Python matplotlib semilogy用法及代碼示例
- Python matplotlib savefig用法及代碼示例
- Python matplotlib axvspan用法及代碼示例
- Python matplotlib Axes.get_legend_handles_labels用法及代碼示例
- Python matplotlib AbstractMovieWriter用法及代碼示例
- Python matplotlib triplot用法及代碼示例
- Python matplotlib StarPolygonCollection.set_hatch用法及代碼示例
- Python matplotlib Axes.hist用法及代碼示例
- Python matplotlib boxplot用法及代碼示例
- Python matplotlib InsetPosition用法及代碼示例
- Python matplotlib ToolManager.toolmanager_disconnect用法及代碼示例
- Python matplotlib Figure.set_size_inches用法及代碼示例
- Python matplotlib figlegend用法及代碼示例
- Python matplotlib Axes.step用法及代碼示例
- Python matplotlib Axes.contour用法及代碼示例
- Python matplotlib LassoSelector用法及代碼示例
- Python matplotlib BrokenBarHCollection.set_hatch用法及代碼示例
- Python matplotlib Axes.plot用法及代碼示例
- Python matplotlib Axes.semilogx用法及代碼示例
注:本文由純淨天空篩選整理自skytowner.com大神的英文原創作品 matplotlib.pyplot.subplots。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。