如何制作重叠的 matplotlib.pyplot 子图?

dan*_*iel 1 python matplotlib

我正在学习如何使用子图。例如:

import numpy
import matplotlib.pyplot as plt

plt.figure(1)
plt.subplot(221)
plt.subplot(222)
plt.subplot(223)

plt.show()

plt.close(1)
Run Code Online (Sandbox Code Playgroud)

我在图 1 中得到 3 个子图

现在我想用第一个中的其他子图制作一个大的子图。我试过:

plt.figure(1)
plt.subplot(111)
plt.subplot(222)
plt.subplot(223)
Run Code Online (Sandbox Code Playgroud)

但是第一个子情节消失了。

我的问题:是否可以重叠子图?

谢谢你

gca*_*tes 6

如果您想完全控制子图的大小和位置,请改用 Matplotlibadd_axes方法。

import matplotlib.pyplot as plt

fig = plt.figure(figsize=(6, 4))

ax1 = fig.add_axes([0.1, 0.1, 0.85, 0.85])
ax2 = fig.add_axes([0.4, 0.6, 0.45, 0.3])
ax3 = fig.add_axes([0.6, 0.2, 0.2, 0.65])

ax1.text(0.01, 0.95, "ax1", size=12)
ax2.text(0.05, 0.8, "ax2", size=12)
ax3.text(0.05, 0.9, "ax3", size=12)

plt.show()
Run Code Online (Sandbox Code Playgroud)

伊格