我想用Python创建下面的图:
我使用下面的代码:
import matplotlib.pyplot as plt
from matplotlib.gridspec import GridSpec
def format_axes(fig):
for i, ax in enumerate(fig.axes):
ax.text(0.5, 0.5, "ax%d" % (i+1), va="center", ha="center")
ax.tick_params(labelbottom=False, labelleft=False)
fig = plt.figure(constrained_layout=True)
gs = GridSpec(3, 3, figure=fig)
ax1 = fig.add_subplot(gs[:2, 0])
ax2 = fig.add_subplot(gs[:2, 1:])
ax3 = fig.add_subplot(gs[-1, 1:])
fig.suptitle("GridSpec")
format_axes(fig)
plt.show()
但是我得到了以下警告:
UserWarning: constrained_layout not applied. At least one axes collapsed to zero width or height.
有谁知道怎么去掉这个警告吗?
1条答案
按热度按时间6fe3ivhb1#
但是,在这种情况下,最好使用
width_ratios
和height_ratios
,并使用您实际想要的2x2布局。一种现代的方法是使用subplot_mosaic
,不过您也可以轻松地调整您的方法使用旧式方法得到相同的结果,加上或减去标签: