subplotpython
⑴ 【python進階篇】Axe和Subplot的用法|Matplotlib|圖解+代碼實例
在深入Python繪圖技術時,Axe和Subplot的用法是Matplotlib進階的重要環節。它們之間的區別在繪圖實踐中可能會讓人感到困惑,但通過直觀的比喻和實例,我們可以理解它們的角色和關系。
首先,想像Figure就像一個畫布,是繪圖的基礎,通過plt.figure()創建。在畫布上,Subplot和Axes就像桌面上的圖標,Subplot是自動對齊到網格的,類似於預定義布局,而Axes則是更底層的,可以自由擺放,包括Subplot在內。Axis負責坐標軸的設置,每個子圖都有一對或一對以上的軸。
運行代碼,如果沒有明確添加子圖,只得到一個空畫布。而通過plt.subplots(),你可以創建子圖並獲取Figure和Axes對象,如axes_lst。通過索引,如ax_lst[0,0]和ax_lst[1,1],可以分別對應左上角和右下角的子圖,實現精確控制。
Axe的使用更像手動擋汽車,給予更多繪圖自由度,適合專業用戶,例如繪制嵌套圖或精確控制子圖位置。例如,通過fig.add_axes(),你可以根據需要精確設置子圖的大小和位置,甚至實現圖形重疊。
總的來說,Subplot和Axes是Matplotlib中用於構建復雜圖形的兩種工具,理解它們的區別和用法,可以幫助你更高效地創建出豐富的可視化圖表。
⑵ python中fig,ax=plt.subplots什麼意思
fig,ax=plt.subplots的意思是將plt.subplots()函數的返回值賦值給fig和ax兩個變數。
plt.subplots()是一個函數,返回一個包含figure和axes對象的元組,因此,使用fig,ax=plt.subplots()將元組分解為fig和ax兩個變數。
通常,我們只用到ax:
fig,ax = plt.subplots(nrows=2, ncols=2)
axes = ax.flatten()
把父圖分成2*2個子圖,ax.flatten()把子圖展開賦值給axes,axes[0]便是第一個子圖,axes[1]是第二個。
(2)subplotpython擴展閱讀
在matplotlib中,整個圖像為一個Figure對象。在Figure對象中可以包含一個或者多個Axes對象。每個Axes(ax)對象都是一個擁有自己坐標系統的繪圖區域。所屬關系如下:
def subplots(nrows=1, ncols=1, sharex=False, sharey=False, squeeze=True,
subplot_kw=None, gridspec_kw=None, **fig_kw):
參數:
nrows,ncols:子圖的行列數。
sharex, sharey:
設置為 True 或者 『all』 時,所有子圖共享 x 軸或者 y 軸,
設置為 False or 『none』 時,所有子圖的 x,y 軸均為獨立,
設置為 『row』 時,每一行的子圖會共享 x 或者 y 軸,
設置為 『col』 時,每一列的子圖會共享 x 或者 y 軸。
返回值
fig:matplotlib.figure.Figure對象
ax:子圖對象(matplotlib.axes.Axes)或者是他的數組