Ich versuche mehrere Bilder in Unterplots zu plotten und entweder den Abstand zwischen Unterplottern (horizontal und vertikal) zu eliminieren oder zu steuern. Ich habe versucht, den Vorschlag in How to Use GridSpec... zu verwenden. Ich habe auch hier versucht, aber sie verwenden keine Unterplots(): space between subplots Ich bin in der Lage, den horizontalen Raum, aber nicht den vertikalen Raum mit dem, was ich tun, in den Code unten zu beseitigen. Bitte nicht als Duplikat markieren, da ich die anderen Posts ausprobiert habe und sie nicht tun, was ich will. Mein Code ist unten gezeigt. Vielleicht gibt es ein anderes Schlüsselwortargument, das ich im gridspec_kw Wörterbuch benötige? Ich möchte pltplots() nicht pltplot() dafür verwenden. Wenn es darauf ankommt, sind die Bilder nicht quadratisch, sie sind rechteckig. Ich habe auch versucht, f.tight_layout(h_pad=0,w_pad=0)
vor plt.show() hinzuzufügen, aber es hat nichts geändert.Wie kombiniere ich gridspec mit pltplots(), um den Abstand zwischen den Zeilen der Unterplots zu eliminieren
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
Haben Sie versucht plt.subplots_adjust? – user2660966
ja, versucht, aber Sie müssen viel mehr tun als nur hspace und wspace. Der Post unten von @ImportanceOfBeingErnest funktioniert perfekt. Ich kann noch nicht upvote, aber dieser Beitrag beantwortet meine Frage vollständig. –