在 Python Matplotlib 中繪製子圖上的網格
我們可以使用 Python Matplotlib 中的 **plt.subplot()** 或 **plt.subplots()** 方法建立子圖網格。'子圖' 指的是單個圖形中多個繪圖的集合,其中每個子圖都是一個軸物件。
我們可以透過將多個軸中的 **脊柱可見性設定為 false** 來建立多個子圖。
在子圖上繪製網格
在子圖上繪製網格所涉及的步驟如下。
-
設定圖形引數
-
使用 **subplots()** 方法建立子圖
-
將脊柱設定為 false
-
共享 x 軸
-
使用 **show()** 方法顯示圖形
設定圖形引數
從下面的程式碼中,**'plt.rcParams'** 在 Matplotlib 中充當字典變數,它儲存繪圖的預設設定。**"figure.figsize"** 將設定圖形的預設大小 (7.50, 3.50),而 **"figure.autolayout"** 將自動調整子圖的引數。
plt.rcParams["figure.figsize"] = [7.50, 3.50] plt.rcParams["figure.autolayout"] = True
建立子圖
透過使用 **plt.subplots()** 建立圖形和子圖網格。
fig, (ax1, ax2) = plt.subplots(nrows=2)
將脊柱可見性設定為 False
它指的是隱藏邊界線的能力,透過將脊柱可見性設定為 **'false'**,我們可以使特定的脊柱不可見。
從下面的程式碼中,迴圈將隱藏 **'ax3'** 的脊柱,**'ax3.tick_params'** 用於修改刻度的外觀。
for _, spine in ax3.spines.items(): spine.set_visible(False) ax3.tick_params(labelleft=False, labelbottom=False, left=False, right=False)
共享 X 軸和新增網格
**ax3.get_shared_x_axes().join(ax3, ax1)** 表示 'ax1' 和 'ax3' 將透過共享 x 軸水平對齊。
ax3.get_shared_x_axes().join(ax3, ax1) ax3.grid(axis="x")
顯示圖形
要顯示包含所有子圖的圖形,可以使用 **plt.show()**。
plt.show()
示例
import matplotlib.pyplot as plt plt.rcParams["figure.figsize"] = [7.50, 3.50] plt.rcParams["figure.autolayout"] = True fig, (ax1, ax2) = plt.subplots(nrows=2) ax3 = fig.add_subplot(111, zorder=-1) for _, spine in ax3.spines.items(): spine.set_visible(False) ax3.tick_params(labelleft=False, labelbottom=False, left=False, right=False) ax3.get_shared_x_axes().join(ax3, ax1) ax3.grid(axis="x") ax1.grid() ax2.grid() plt.show()
輸出

廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP