[英]How to make matplotlib.pyplot subplots that overlap?
我正在学习如何使用子图。 例如:
import numpy
import matplotlib.pyplot as plt
plt.figure(1)
plt.subplot(221)
plt.subplot(222)
plt.subplot(223)
plt.show()
plt.close(1)
我在图 1 中得到 3 个子图
现在我想用第一个中的其他子图制作一个大的子图。 我试过:
plt.figure(1)
plt.subplot(111)
plt.subplot(222)
plt.subplot(223)
但是第一个子情节消失了。
我的问题:是否可以重叠子图?
谢谢你
如果您想完全控制子图的大小和位置,请改用 Matplotlib add_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()
您可以使用mpl_toolkits.axes_grid1.inset_locator.inset_axes
在现有图形上创建插入轴。 我在最后添加了一个print
语句,它显示了两个轴的列表。
import matplotlib.pyplot as plt
import mpl_toolkits.axes_grid1.inset_locator as mpl_il
plt.plot()
ax2 = mpl_il.inset_axes(plt.gca(), width='60%', height='40%', loc=6)
ax2.plot()
print(plt.gcf().get_axes())
plt.show()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.