如下:
- 自定义x, y用于绘图
- 导包
import numpy as np
import matplotlib.pyplot as plt
- 自定义 x, y
x = np.linspace(0, np.pi, 1000)
y = np.sin(x)
- 绘制常规子图
- 绘图
plt.subplot(231).plot(x,y) # 2行3列中的第1张图
plt.subplot(232).plot(x,y) # 2行3列中的第2张图
plt.subplot(233).plot(x,y) # 2行3列中的第3张图
plt.subplot(234).plot(x,y) # 2行3列中的第4张图
plt.subplot(235).plot(x,y) # 2行3列中的第5张图
plt.subplot(236).plot(x,y) # 2行3列中的第6张图
- 结果如下
- 补充
以下三种写法是等效的
# 写法一
plt.subplot(231).plot(x,y)
# 写法二
plt.subplot(231)
plt.plot(x,y)
# 写法三
p = plt.subplot(231)
p.plot(x,y)
- 绘制不规则子图
- 绘制
plt.subplot(221).plot(x,y)
plt.subplot(222).plot(x,y)
plt.subplot(212).plot(x,-y)
- 结果如下
- 绘制
plt.subplot(221).plot(y,x)
plt.subplot(223).plot(y,x)
plt.subplot(122).plot(y,x)
- 结果如下
- 理解
-
可以看成是一个2行2列的子图和一个2行1列的子图相互覆盖
– 2行2列的子图只画上面2张子图, 下面2张子图空白
– 2行1列的子图只画下面1张子图, 上面1张空白
– 这样2组子图就会相互覆盖对方空白的部分 -
其它形态的不规则子图绘制方法类似
--over--