首頁技術(shù)文章正文

Python培訓(xùn):共享相鄰子圖的坐標(biāo)軸

更新時(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所示。

1649383353551_每列子圖共享x軸.png

  圖5-12 每列子圖共享x軸

分享到:
在線咨詢 我要報(bào)名
和我們在線交談!