如何增加子图的大小和减少水平间距?

2024-03-29 01:46:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我想有一个较小的间距在水平,以便能够增加支持的大小,但我不知道如何做到这一点

这是我的密码:

# DEFINE FIGURE SIZE
fig, axarr = plt.subplots(6,3,figsize=(30,30))

for i in range(6):

    for ii in range(3):
        #IMAGE
        axarr[i,ii].imshow([[1,2],[2,3]])
        # ADDITIONAL 
        axarr[i,ii].axis("off")
        axarr[i,ii].set_title(str(i), color = 'red')


plt.show()

这就是它的样子:

enter image description here

我尝试将figuresize更改为150x150,但结果几乎相同(标题不再可见):

enter image description here


Tags: in密码forsize水平figrangeplt
1条回答
网友
1楼 · 发布于 2024-03-29 01:46:31

将地物尺寸更改为6/3的比例。更一般地说,如果您有Nlines x Ncols子图,您将希望使用具有Nlines/Ncols比率的地物维度。你知道吗

这是因为imshow()使用an ^{} aspect ratio by default来确保像素在屏幕上呈正方形。这意味着最初创建的子图是矩形的,水平间距很小,现在正在调整大小,使其具有方形,而不改变图形的尺寸,从而导致子图之间的间隙很大。为了避免这个问题,请仔细选择图的大小,这样子图在调用imshow()之前就已经是正方形了。你知道吗

width = 5
fig, axarr = plt.subplots(6,3,figsize=(width,width*6/3))

for i in range(6):

    for ii in range(3):
        #IMAGE
        axarr[i,ii].imshow([[1,2],[2,3]])
        # ADDITIONAL 
        axarr[i,ii].axis("off")
        axarr[i,ii].set_title(str(i), color = 'red')


plt.show()

enter image description here

相关问题 更多 >