Das wird noch anspruchsvoller mit Nebenhandlungen. Wenn ich beispielsweise plt.subplots(1, 1) mit einem Titel, Achsenbeschriftungen und einer Farbleiste verwende und es mit plt.subplots(4, 4) (16 Unterplots in a Raster), ist es ziemlich schwierig, jeden dieser Nebenplot-Zeichnungsbereiche durch einfaches Anpassen von figsize auf exakt die gleiche Größe zu bringen. Oftmals verändert der von der Farbleiste, den Achsenmarkierungen/-beschriftungen und den Unterplotabständen beanspruchte Platz den verfügbaren Datenbereich auf eine Art und Weise, die nur schwer zu standardisieren ist.
Gibt es eine Möglichkeit, die Daten festzulegen? Bereich auf eine feste Abmessung (z. B. 2 Zoll x 2 Zoll) unabhängig von Titeln, Beschriftungen, Farbbalken oder Nebenplotkonfiguration? Im Idealfall möchte ich sicherstellen, dass, wenn ich Titel oder Achsenbeschriftungen aus einer Abbildung entferne – oder die Anzahl der Unterplots ändere –, der Datenbereich jeder Achse die gleiche Größe behält wie in einer anderen Abbildung, die nicht hat Titel/Beschriftungen oder verwendet ein anderes Nebenplot-Layout.
Für Vorschläge oder Codebeispiele wäre ich sehr dankbar. Vielen Dank!
Beispiele:
Code: Select all
## No title, axis labels, or colorbar
fig, ax = plt.subplots(figsize=(4, 2))
ax.imshow(np.sin(np.linspace(0, 10, 100)).reshape(-1, 1),
aspect='auto',
cmap='Spectral')
plt.tight_layout()
plt.show()

Code: Select all
## Same plot as above with title, axis labels, and colorbar
fig, ax = plt.subplots(figsize=(4, 2))
im = ax.imshow(np.sin(np.linspace(0, 10, 100)).reshape(-1, 1),
aspect='auto',
cmap='Spectral')
ax.set_title('Sine Wave', fontsize=16, fontfamily='monospace')
ax.set_xlabel('Time', fontsize=16, fontfamily='monospace')
ax.set_ylabel('Amplitude', fontsize=16, fontfamily='monospace')
plt.colorbar(im, ax=ax, aspect=3)
plt.tight_layout()
plt.show()
