更新时间:2022-04-08 来源:黑马程序员 浏览量:
当pyplot使用subplots()函数绘制子图时,可以通过sharex或sharey参数控制是否共享x轴或者y轴。sharex或sharey参数支持False或'none'、True或'all'、'row'、'col'中任一取值,关于这些取值的含义如下。
·True或'all':表示所有子图之间共享x轴或y轴。
·False或'none':表示所有子图之间不共享x轴或y轴。
·'row':表示每一行的子图之间共享x轴或y轴。
·'col':表示每一列的子图之间共享x轴或y轴。
例如,将画布规划成2x2的矩阵区域,依次在每个区域中绘制子图,每一列子图之间共享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()
运行程序,效果如图5-12所示。
图5-12 每列子图共享x轴