Ich versuche, zwei Versionen des gleichen Bildes nebeneinander zu plotten. Wenn ich die Figur, ohne die Farbbalken zeichnen für eines der Bilder, so scheint es, die richtigen Größen zu haben:Wie kann ich die Bildgröße bei Verwendung einer Farbleiste beibehalten?
Aber wenn ich einen Farbstreifen auf das Bild in der linken hinzufügen, skaliert sie das Bild irgendwie nach unten:
Hier ist der Code, wo ich die Linien für die Farbleiste auf Kommentar:
def plot_amaps(self, anisotropy_map, parallel):
timepoint = self.t * self.timestep
amap_directory = self.directory + "amaps/"
fig = plt.figure(facecolor='w', dpi=180)
ax1 = fig.add_subplot(121)
fig.subplots_adjust(top=0.85)
ax1.grid(False)
txt = "Mean(r) = %.3f SD(r)= %.3f t=%dmin"
txt = txt %(self.mean, self.sd, timepoint)
ax1.set_title(txt)
amap = ax1.imshow(anisotropy_map, cmap="jet", clim = self.clim)
#divider = make_axes_locatable(ax1)
#cax = divider.append_axes('right', size='5%', pad=0.05)
#fig.colorbar(amap, cax=cax)
ax2 = fig.add_subplot(122)
ax2.set_title("Intensity image", fontsize=10)
ax2.imshow(parallel, cmap="gray")
ax2.grid(False)
ax1.axis('off')
ax2.axis('off')
if self.save is True:
self.make_plot_dir(amap_directory)
name = self.cell + "_time_"+str(timepoint)
plt.savefig(amap_directory+name+self.saveformat, bbox_inches='tight')
else:
plt.show()
plt.close('all')
Was mache ich falsch, und wie kann ich sicherstellen, dass die beiden Bilder die gleiche Größe haben?
Dumb Frage: Wie kann ich die Größe des colorbar reduzieren? 'fig.colorbar (amap, cax = fig.add_subplot (gs [1]), schrumpfen = .5)' gibt einen Fehler zurück. – pskeshu
meinst du vertikale Größe oder horizontale Größe. Bei horizontaler Größe können Sie die 'width_ratios' bei der Erstellung der GridSpec ändern. Ich habe '[5,1,5]' gemacht, was bedeutet, dass die Bilder 5x so groß sind wie die Farbleiste, aber Sie können sich nach Ihren Bedürfnissen anpassen. Für vertikale, ich bin mir nicht sicher, sah ich, dass meine Lösung einen viel größeren Maßstab als Ihre gewünschte Ausgabe bietet. Es gibt wahrscheinlich einige Optionen zum Auffüllen, die beim Erstellen der Achsen übergeben werden können, oder Sie sehen die Antwort von @ImportanceOfBeingErnest, wo Sie direkt die Größe der Achsen angeben. –