Chcę utworzyć figurę składającą się z dziewięciu wątków. Naprawdę nienawidziłem faktu, że potrzebowałem stworzyć ax1 do ax9 osobno, więc stworzyłem pętlę for, aby to zrobić. Jeśli jednak chcę dołączyć pasek kolorów, pasek kolorów znajduje się na prawo od ostatniego wątku. Jest to również pokazano na poniższym rysunku:Niewłaściwe pozycjonowanie paska koloru podczas korzystania z subplots (matplotlib)
Co jest nie tak i jak to naprawić?
Obraz został wygenerowany za pomocą następującego kodu:
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()
To jest trochę bardziej eleganckie niż rozwiązanie, które znalazłem. Jednak odstęp między subplotem a kolorowym paskiem jest dość duży. Jakieś pomysły? –
Wypróbuj plt.tight_layout() – Molly