複数の画像をサブプロットにプロットし、サブプロット間の領域を削除(水平および垂直)するか、または制御します。私はHow to Use GridSpec...で提案を使用しようとしました。私もここで試してみましたが、サブプロット()を使用していません:space between subplots 私は以下のコードで私が何をしているのかというと、水平スペースをなくすことができます。私は他の投稿を試してみて、私が欲しいものをやっていないので、重複としてマークしないでください。私のコードは以下の通りです。多分、gridspec_kw辞書に必要な別のキーワード引数がありますか? 私はこのためにplt.subplots()を使わないplt.subplots()を使いたいと思います。重要な場合、画像は正方形ではなく、長方形です。 plt.show()の前にf.tight_layout(h_pad=0,w_pad=0)
を追加しようとしましたが、何も変更されませんでした。gridplecとplt.subplots()を組み合わせてサブプロットの行間のスペースを取り除く方法
def plot_image_array_with_angles(img_array,correct_angles,predict_angles,
fontsize=10,figsize=(8,8)):
'''
Imports:
import matplotlib.gridspec as gridspec
import numpy as np
import matplotlib.pyplot as plt
'''
num_images = len(img_array)
grid = int(np.sqrt(num_images)) # will only show all images if square
#f, axarr = plt.subplots(grid,grid,figsize=figsize)
f, axarr = plt.subplots(grid,grid,figsize=figsize,
gridspec_kw={'wspace':0,'hspace':0})
im = 0
for row in range(grid):
for col in range(grid):
axarr[row,col].imshow(img_array[im])
title = 'cor = ' + str(correct_angles[im]) + ' pred = ' + str(predict_angles[im])
axarr[row,col].set_title(title,fontsize=fontsize)
axarr[row,col].axis('off') # turns off all ticks
#axarr[row,col].set_aspect('equal')
im += 1
plt.show()
return
あなたはplt.subplots_adjustを試みたことがありますか? – user2660966
はい、それを試みましたが、hspaceとwspaceを設定するだけではありません。以下の投稿は @ImportanceOfBeingErnestから完全に動作します。私はまだupvoteできませんが、その投稿は完全に私の質問に答える。 –