Desidero creare una figura composta da nove sottotrame. Ho davvero odiato il fatto che avevo bisogno di creare ax1 in ax9 separatamente, così ho creato un ciclo for per farlo. Tuttavia, quando voglio includere una barra di colore, la barra dei colori è posizionata a destra dell'ultima sottotrama. Questo è dimostrato anche nella figura seguente:Posizionamento errato della barra dei colori quando si utilizzano sottotrame (matplotlib)
cosa non va e come posso risolvere questo problema?
L'immagine è stata generata con il seguente codice:
import numpy
import layout
import matplotlib.pylab as plt
data = numpy.random.random((10, 10))
test = ["ax1", "ax2", "ax3", "ax4", "ax5", "ax6", "ax7", "ax8", "ax9"]
fig = plt.figure(1)
for idx in range(len(test)):
vars()[test[idx]] = fig.add_subplot(3, 3, (idx + 1))
im = ax1.imshow(data)
plt.colorbar(im)
im2 = ax3.imshow(data)
plt.colorbar(im2)
plt.show()
Questo è un po 'più elegante della soluzione che ho trovato. Tuttavia, la spaziatura tra la sottotrama e la barra di colore è piuttosto grande. Qualche idea? –
Prova plt.tight_layout() – Molly