Eine bessere Art und Weise wird durch die Dokumentation von plt.figimage
selbst vorgeschlagen:
figimage ergänzt die Achsen Bild (imshow()), die neu abgetastete werden die aktuellen Achsen passen. Wenn Sie möchten, dass ein neu abgetastetes Bild die gesamte Figur ausfüllt, können Sie eine Axes mit der Größe [0,1,0,1] definieren.
Links sind tatsächlich in der Online-Dokumentation vorhanden. Außerdem habe ich gerade eine PR eingereicht, um [0, 1, 0, 1]
zu zu beheben.
from matplotlib import pyplot as plt
fig = plt.figure()
# Create axis stretched across the entire figure. anchor='N' will
# keep it anchored to the top and left when it gets resized to fit
# the image bounds (default is the center).
ax = fig.add_axes([0,0,1,1], anchor='NW', frameon=False)
# Remove the spines and ticks of the axis (frameon=False in the
# line above made it transparent)
ax.set_axis_off()
offset = -0.5
for im in gp:
height, width = im.shape
# Plot the images upside-down with origin=lower
ax.imshow(im, extent=[offset, offset + width, -0.5, height], origin='lower', cmap='gray')
offset += width
ax.set_xlim([-0.5, offset])
# Flip the y-axis
ax.set_ylim([gp[0].shape[0] - 0.5, -0.5])
plt.show()
Ein wesentlicher Unterschied mit figure.figimage
ist, dass die Bilder skaliert, wie Sie die Größe der Figur ändern, anstatt Abbildung auf dem Bildschirm Pixel-für-Pixel.
Getestet habe ich die folgende Definition von gp
mit:
from skimage.data import camera
g = camera()
gp = [g[::2**x, ::2**x] for x in range(6)]
Hier ist das Ergebnis:
Und hier ist ein Beispiel mit anchor
nicht explizit festgelegt in fig.add_axes
:
UPDATE
PR #7659 wurde angenommen, so wird die korrigierte Dokumentation für matplotlib lesen:
figimage ergänzt die Achsen Bild (imshow()), die die aktuellen Achsen passen wiederabgetasteten wird. Wenn Sie möchten, dass ein neu abgetastetes Bild die gesamte Abbildung ausfüllt, können Sie eine Axes mit Extents [0,0,1,1] definieren.
Sind Sie offen für einen anderen Ansatz? –
natürlich alles, was funktioniert ia gut – proton
In diesem Fall, viel Spaß :) –