首页技术文章正文

Python培训:共享相邻子图的坐标轴

更新时间: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所示。

1649383353551_每列子图共享x轴.png

  图5-12 每列子图共享x轴

分享到:
在线咨询 我要报名
和我们在线交谈!