你已經被細分爲兩列定義的gridspec適當的拆分。指定左軸使用的第一列(見下文的變化),並且被認爲是「立方」(縱橫比1)使用您的gridspec的右側列中的軸。
import matplotlib.pyplot as plt
import matplotlib.gridspec as gridspec
gs1 = gridspec.GridSpec(3,2)
ax1 = plt.subplot(gs1[0, 0])
ax2 = plt.subplot(gs1[1, 0],sharex=ax1)
ax3 = plt.subplot(gs1[2, 0],sharex=ax1)
ax4 = plt.subplot(gs1[:, 1]) # NEW
ax4.set_aspect('equal', adjustable='box') # NEW
plt.setp(ax1.get_xticklabels(), visible=False)
plt.setp(ax2.get_xticklabels(), visible=False)
plt.show()
或者,也可以定義一個第二gridspec並更新每個gridspec的(相對)位置,像這樣:
import matplotlib.pyplot as plt
import matplotlib.gridspec as gridspec
gs1 = gridspec.GridSpec(3,2)
gs1.update(left=0.05, right=0.48, wspace=0.05)
ax1 = plt.subplot(gs1[0, :])
ax2 = plt.subplot(gs1[1, :],sharex=ax1)
ax3 = plt.subplot(gs1[2, :],sharex=ax1)
gs2 = gridspec.GridSpec(1, 1)
gs2.update(left=0.55, right=0.98, hspace=0.05)
ax4 = plt.subplot(gs2[0,0])
#ax4.set_aspect('equal', adjustable='box')
plt.setp(ax1.get_xticklabels(), visible=False)
plt.setp(ax2.get_xticklabels(), visible=False)
plt.show()
我評論的代碼來獲得相等的方面比例爲ax4
,突出顯示默認情況下,它填充整個可用空間。