Why-問題原因

在Matplotlib中,使用子圖繪製和直接繪製的語法會略有不同
然而具體要調整些什麼常常會忘記,所以乾脆趁著這次的機會整理起來

What-問題說明

原始:使用plt繪製

調整:使用ax繪製

How-處理方式

基本流程

plt的繪圖換成ax的繪圖需要進行以下調整:

  1. 建立FigureAxes物件:使用plt.subplots()建立FigureAxes物件,而不是使用plt直接繪圖。
  2. 替換plt的繪圖函數:使用Axes物件的對應繪圖函數(例如ax.plot()ax.bar()等)替換plt的繪圖函數。
  3. 設置圖形屬性:使用Axes物件的相應方法設置圖形屬性,例如標題、軸標籤、刻度、圖例等。
  4. 顯示圖形:最後使用plt.show()fig.show()來顯示圖形。

對照表

plt函數 對應的ax函數 函數用途
plt.plot() ax.plot() 繪製折線圖
plt.scatter() ax.scatter() 繪製散點圖
plt.bar() ax.bar() 繪製條形圖
plt.hist() ax.hist() 繪製直方圖
plt.imshow() ax.imshow() 繪製影像
plt.contour() ax.contour() 繪製等高線
plt.contourf() ax.contourf() 繪製填充的等高線
plt.pcolormesh() ax.pcolormesh() 繪製網格的顏色區塊
plt.text() ax.text() 在座標軸上添加文本
plt.legend() ax.legend() 添加圖例
plt.title() ax.set_title() 設置圖表標題
plt.xlabel() ax.set_xlabel() 設置x軸標籤
plt.ylabel() ax.set_ylabel() 設置y軸標籤
plt.xlim() ax.set_xlim() 設置x軸範圍
plt.ylim() ax.set_ylim() 設置y軸範圍
plt.xticks() ax.set_xticks() 設置x軸刻度位置
plt.yticks() ax.set_yticks() 設置y軸刻度位置
plt.grid() ax.grid() 添加座標軸網格線
plt.subplots() fig, ax = plt.subplots() 創建新的FigureAxes對象

需要注意的是,這些函數的使用方式可能會略有不同。例如,ax.set_xlim()ax.set_ylim()需要傳遞包含最小值和最大值的元組,而plt.xlim()plt.ylim()則需要傳遞最小值和最大值作為獨立的引數。因此,在使用ax的繪圖方式時,需要特別注意函數的引數和使用方式。