2017-05-10 3 views
1

私のサブプロットは、それがplt.subplots_adjust(HSPACE = 0、wspace = 0)ですべて動作していないように思える、matplotlibサブプロットを使用しているときに行間のギャップを減らしますか?

fig,ax = plt.subplots(rows,cols, figsize = [24,24]) 
plt.subplots_adjust(hspace=0, wspace=0) 

for i in range(cols): 
    step = 6 
    ind = i*step 
    ax[0,i].imshow(a[ind,:,:],cmap='gray') 
    ax[0,i].axis('off') 

    ax[1,i].imshow(b[ind,:,:],cmap='gray') 
    ax[1,i].axis('off') 

    ax[2,i].imshow(c[ind,:,:],cmap='gray') 
    ax[2,i].axis('off') 

しかし subplot

私のコードを結果。私はそれが同じxとyの大きさを持つように強制していることに気付きます。これを修正するのを助けてくれますか?

+0

gridspecが – Aditya

+0

またはplt.tight_layoutを助けるかもしれないサブプロットの周りに多くのマージンを置いてもよいです() – Aditya

答えて

2

figsize=[24,24]を正方形の画像にしています。 subplots_adjustは、それぞれ隣接するものにくっつくようにする。しかしax.imshow()はそれぞれaxを記入していません。上記のサンプルでは、​​画像の垂直方向のサイズが大きかった場合、その軸に割り当てられた領域を塗りつぶしてしまいますが、画像を歪ませることになります。それを試してみたい場合は、コマンドax[0,i].imshow(a[ind,:,:],cmap='gray', aspect='auto')を使用してください:部分は画像を伸ばして軸を埋めるでしょう。 画像のアスペクト比を歪ませたくない場合は、それに応じてfigsizeを編集する必要があります。

1

図形のサイズを縦方向に縮小することもできます。

fig,ax = plt.subplots(rows,cols, figsize = [24,12]) 

か、正方形の数字の大きさを保つが、

plt.subplots_adjust(bottom=0.3, top=0.7, hspace=0) 
関連する問題