所以我尝试生成一个4x 4的图形左下角是一个完美的正方形。
fig=plt.figure()
ax=np.empty((2,2,),dtype=object)
ax[1][0]=fig.add_subplot(2,2,3)
ax[0][0]=fig.add_subplot(2,2,1,sharex=ax[1][0])
ax[1][1]=fig.add_subplot(2,2,4,sharey=ax[1][0])
ax[0][1]=fig.add_subplot(2,2,2,sharex=ax[1][1],sharey=ax[0][0])
plt.subplots_adjust(hspace=0,wspace=0)
old_position,old_position2,old_position3,old_position4=list(ax[0][0].get_position().bounds),list(ax[1][1].get_position().bounds),list(ax[1][0].get_position().bounds),list(ax[0][1].get_position().bounds)
old_position[-1]=old_position[-1]/2
old_position2[-2]=old_position2[-2]/2
old_position3[-1]=old_position3[-2]
old_position4[-1]=old_position4[-1]/2
old_position4[-2]=old_position4[-2]/2
ax[0][0].set_position(old_position)
ax[1][1].set_position(old_position2)
ax[1][0].set_position(old_position3)
ax[0][1].set_position(old_position4)
ax[0][0].xaxis.set_visible(False)
ax[0][1].xaxis.set_visible(False)
ax[1][1].yaxis.set_visible(False)
ax[0][1].yaxis.set_visible(False)
#plot stuff onto axes objects
plt.suptitle('Test')
plt.show()
所以这意味着左下角的图([1][0])应该是一个完美的正方形,因为old_position3[-1]=[-2]
,实际上看old_position 3,你得到[0.125, 0.10999999999999999, 0.38749999999999996, 0.38749999999999996]
,所以x,y维度都是相同的0.3874
。
然而,在绘图/显示时,这些尺寸并不适合左下角。高/宽的比例约为3/5英寸,我不太明白为什么。此外,为什么标题(suptitle)使用旧尺寸(它位于上方)。
1条答案
按热度按时间vuktfyat1#
要得到一个左下角的正方形图形,只需在创建时提供一个正方形
figsize
:默认的figsize为6.4 x 4.8(source)。
因此,标题不会居中,因为您更改了坐标轴而没有更改图形大小。更多信息here