更新時(shí)間:2022-04-08 來源:黑馬程序員 瀏覽量:
當(dāng)pyplot使用subplots()函數(shù)繪制子圖時(shí),可以通過sharex或sharey參數(shù)控制是否共享x軸或者y軸。sharex或sharey參數(shù)支持False或'none'、True或'all'、'row'、'col'中任一取值,關(guān)于這些取值的含義如下。
·True或'all':表示所有子圖之間共享x軸或y軸。
·False或'none':表示所有子圖之間不共享x軸或y軸。
·'row':表示每一行的子圖之間共享x軸或y軸。
·'col':表示每一列的子圖之間共享x軸或y軸。
例如,將畫布規(guī)劃成2x2的矩陣區(qū)域,依次在每個區(qū)域中繪制子圖,每一列子圖之間共享x軸,示例代碼如下:
import numpy as np import matplotlib.pyplot as plt plt.rcParams['axes.unicode_minus'] = False x1 = np.linspace(0, 2*np.pi, 400) x2 = np.linspace(0.01, 10, 100) x3 = np.random.rand(10) x4 = np.arange(0,6,0.5) y1 = np.cos(x1**2) y2 = np.sin(x2) y3 = np.linspace(0,3,10) y4 = np.power(x4,3) # 共享每一列子圖之前的x軸 fig, ax_arr = plt.subplots(2, 2, sharex='col') ax1 = ax_arr[0, 0] ax1.plot(x1, y1) ax2 = ax_arr[0, 1] ax2.plot(x2, y2) ax3 = ax_arr[1, 0] ax3.scatter(x3, y3) ax4 = ax_arr[1, 1] ax4.scatter(x4, y4) plt.show()
運(yùn)行程序,效果如圖5-12所示。
圖5-12 每列子圖共享x軸