嵌套的Gridspecs
GridSpec可以嵌套,因此来自父GridSpec的子图可以设置嵌套的子图网格的位置。

import matplotlib.pyplot as pltimport matplotlib.gridspec as gridspecdef 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)# gridspec inside gridspecf = plt.figure()gs0 = gridspec.GridSpec(1, 2, figure=f)gs00 = gridspec.GridSpecFromSubplotSpec(3, 3, subplot_spec=gs0[0])ax1 = plt.Subplot(f, gs00[:-1, :])f.add_subplot(ax1)ax2 = plt.Subplot(f, gs00[-1, :-1])f.add_subplot(ax2)ax3 = plt.Subplot(f, gs00[-1, -1])f.add_subplot(ax3)gs01 = gridspec.GridSpecFromSubplotSpec(3, 3, subplot_spec=gs0[1])ax4 = plt.Subplot(f, gs01[:, :-1])f.add_subplot(ax4)ax5 = plt.Subplot(f, gs01[:-1, -1])f.add_subplot(ax5)ax6 = plt.Subplot(f, gs01[-1, -1])f.add_subplot(ax6)plt.suptitle("GridSpec Inside GridSpec")format_axes(f)plt.show()
