matplotlib.axes.Axes.imshow#
- Axes.imshow(X, cmap=None, norm=None, *, aspect=None, interpolation=None, alpha=None, vmin=None, vmax=None, colorizer=None, origin=None, extent=None, interpolation_stage=None, filternorm=True, filterrad=4.0, resample=None, url=None, data=None, **kwargs)[Quelle]#
Zeigt Daten als Bild an, d.h. auf einem 2D-regulären Raster.
Die Eingabe kann entweder tatsächliche RGB(A)-Daten oder 2D-Skalardaten sein, die als Pseudofarbbild gerendert werden. Zur Anzeige eines Graustufenbildes richten Sie die Farbzuordnung mit den Parametern
cmap='gray', vmin=0, vmax=255ein.Die Anzahl der zur Darstellung eines Bildes verwendeten Pixel wird durch die Größe der Achsen und die dpi der Abbildung bestimmt. Dies kann zu Aliasing-Artefakten führen, wenn das Bild neu abgetastet wird, da die angezeigte Bildgröße normalerweise nicht mit der Größe von X übereinstimmt (siehe Bild-Neuberechnung). Die Neuberechnung kann über den Parameter interpolation und/oder
rcParams["image.interpolation"](Standard:'auto') gesteuert werden.- Parameter:
- XArray-ähnlich oder PIL-Bild
Die Bilddaten. Unterstützte Array-Formen sind
(M, N): Ein Bild mit Skalardaten. Die Werte werden mithilfe von Normalisierung und einer Farbkarte auf Farben abgebildet. Siehe Parameter norm, cmap, vmin, vmax.
(M, N, 3): Ein Bild mit RGB-Werten (0-1 Float oder 0-255 Integer).
(M, N, 4): Ein Bild mit RGBA-Werten (0-1 Float oder 0-255 Integer), d.h. einschließlich Transparenz.
Die ersten beiden Dimensionen (M, N) definieren die Zeilen und Spalten des Bildes.
RGB(A)-Werte außerhalb des Bereichs werden abgeschnitten.
- cmapstr oder
Colormap, Standard:rcParams["image.cmap"](Standard:'viridis') Die Colormap-Instanz oder der registrierte Colormap-Name, der verwendet wird, um Skalardaten in Farben abzubilden.
Dieser Parameter wird ignoriert, wenn X RGB(A) ist.
- normstr oder
Normalize, optional Die Normalisierungsmethode, die verwendet wird, um Skalardaten vor der Abbildung auf Farben mithilfe von cmap in den Bereich [0, 1] zu skalieren. Standardmäßig wird eine lineare Skalierung verwendet, die den niedrigsten Wert auf 0 und den höchsten auf 1 abbildet.
Wenn angegeben, kann dies eine der folgenden Optionen sein
Eine Instanz von
Normalizeoder eine ihrer Unterklassen (siehe Farbkartennormalisierung).Ein Skalennamen, d. h. einer von "linear", "log", "symlog", "logit" usw. Für eine Liste der verfügbaren Skalen rufen Sie
matplotlib.scale.get_scale_names()auf. In diesem Fall wird eine geeigneteNormalize-Unterklasse dynamisch generiert und instanziiert.
Dieser Parameter wird ignoriert, wenn X RGB(A) ist.
- vmin, vmaxfloat, optional
Wenn Skalardaten und keine explizite norm verwendet werden, definieren vmin und vmax den Datenbereich, den die Farbkarte abdeckt. Standardmäßig deckt die Farbkarte den gesamten Wertebereich der bereitgestellten Daten ab. Es ist ein Fehler, vmin/vmax zu verwenden, wenn eine norm-Instanz angegeben ist (aber die Verwendung eines
str-norm-Namens zusammen mit vmin/vmax ist akzeptabel).Dieser Parameter wird ignoriert, wenn X RGB(A) ist.
- colorizer
Colorizeroder None, Standard: None Das Colorizer-Objekt, das verwendet wird, um Farbe auf Daten abzubilden. Wenn None, wird ein Colorizer-Objekt aus norm und cmap erstellt.
Dieser Parameter wird ignoriert, wenn X RGB(A) ist.
- aspect{'equal', 'auto'} oder float oder None, Standard: None
Das Seitenverhältnis der Achsen. Dieser Parameter ist besonders relevant für Bilder, da er bestimmt, ob Datenpixel quadratisch sind.
Dieser Parameter ist eine Abkürzung für den expliziten Aufruf von
Axes.set_aspect. Siehe dort für weitere Details.'equal': Stellt ein Seitenverhältnis von 1 sicher. Pixel sind quadratisch (sofern Pixelgrößen nicht explizit in Datenkoordinaten mit extent als nicht-quadratisch definiert sind).
'auto': Die Achsen bleiben fixiert und das Seitenverhältnis wird angepasst, sodass die Daten in die Achsen passen. Im Allgemeinen führt dies zu nicht-quadratischen Pixeln.
Normalerweise bedeutet None (Standard),
rcParams["image.aspect"](Standard:'equal') zu verwenden. Wenn das Bild jedoch eine Transformation verwendet, die die Achsendatentransformation nicht enthält, bedeutet None, das Achsenverhältnis überhaupt nicht zu ändern (in diesem Fall rufen SieAxes.set_aspectdirekt auf, falls gewünscht).- interpolationstr, Standard:
rcParams["image.interpolation"](Standard:'auto') Die verwendete Interpolationsmethode.
Unterstützte Werte sind 'none', 'auto', 'nearest', 'bilinear', 'bicubic', 'spline16', 'spline36', 'hanning', 'hamming', 'hermite', 'kaiser', 'quadric', 'catrom', 'gaussian', 'bessel', 'mitchell', 'sinc', 'lanczos', 'blackman'.
Die Daten X werden mit der Interpolationsmethode an die Pixelgröße des Bildes auf der Abbildungsoberfläche angepasst, um entweder zu vergrößern oder zu verkleinern.
Wenn interpolation 'none' ist, findet für die ps-, pdf- und svg-Backends keine Verkleinerung oder Vergrößerung statt, und die Bilddaten werden als natives Bild an das Backend übergeben. Beachten Sie, dass verschiedene ps-, pdf- und svg-Viewer diese Rohpixel unterschiedlich anzeigen können. Auf anderen Backends ist 'none' dasselbe wie 'nearest'.
Wenn interpolation der Standardwert 'auto' ist, wird die 'nearest'-Interpolation verwendet, wenn das Bild um mehr als den Faktor drei vergrößert wird (d.h. die Anzahl der Anzeigepixel ist mindestens dreimal so groß wie die Größe des Datenarrays). Wenn die Vergrößerungsrate kleiner als 3 ist oder das Bild verkleinert wird, wird die 'hanning'-Interpolation als Antialiasing-Filter verwendet, es sei denn, das Bild wird zufällig um genau den Faktor zwei oder eins vergrößert.
Siehe Interpolationsverfahren für imshow für einen Überblick über die unterstützten Interpolationsmethoden und Bild-Neuberechnung für eine Diskussion über Bild-Antialiasing.
Einige Interpolationsmethoden erfordern einen zusätzlichen Radiusparameter, der durch filterrad gesetzt werden kann. Zusätzlich wird der Antigrain-Bildgrößenänderungsfilter durch den Parameter filternorm gesteuert.
- interpolation_stage{'auto', 'data', 'rgba'}, Standard: 'auto'
Unterstützte Werte
'data': Die Interpolation wird auf den vom Benutzer bereitgestellten Daten durchgeführt. Dies ist nützlich, wenn zwischen Pixeln während der Vergrößerung interpoliert wird.
'rgba': Die Interpolation wird im RGBA-Raum durchgeführt, nachdem die Farbzuordnung angewendet wurde. Dies ist nützlich beim Verkleinern und visuellen Kombinieren von Pixeln.
'auto': Wählt automatisch eine geeignete Interpolationsstufe aus. Dies verwendet 'rgba' beim Verkleinern oder Vergrößern mit einer Rate kleiner als 3 und 'data' beim Vergrößern mit einer höheren Rate.
Siehe Bild-Neuberechnung für eine Diskussion über Bild-Antialiasing.
- alphafloat oder Array-ähnlich, optional
Der Alpha-Überblendwert, zwischen 0 (transparent) und 1 (opak). Wenn alpha ein Array ist, werden die Alpha-Überblendwerte Pixel für Pixel angewendet, und alpha muss die gleiche Form wie X haben.
- origin{'upper', 'lower'}, Standard:
rcParams["image.origin"](Standard:'upper') Platziert den Index [0, 0] des Arrays in der oberen linken oder unteren linken Ecke der Achsen. Die Konvention ('upper', Standard) wird typischerweise für Matrizen und Bilder verwendet.
Beachten Sie, dass die vertikale Achse bei 'lower' nach oben und bei 'upper' nach unten zeigt.
Siehe das Tutorial Origin und extent in imshow für Beispiele und eine detailliertere Beschreibung.
- extentFloats (links, rechts, unten, oben), optional
Die Bounding Box in Datenkoordinaten, die das Bild ausfüllen wird. Diese Werte können Einheiten haben und mit den Einheiten der Achsen übereinstimmen. Das Bild wird einzeln entlang von x und y gestreckt, um die Box auszufüllen.
Die Standard-Extent wird durch die folgenden Bedingungen bestimmt. Pixel haben die Einheit Größe in Datenkoordinaten. Ihre Mittelpunkte liegen bei ganzzahligen Koordinaten, und ihre Mittelpunktskoordinaten reichen von 0 bis Spalten-1 horizontal und von 0 bis Zeilen-1 vertikal.
Beachten Sie, dass die Richtung der vertikalen Achse und damit die Standardwerte für oben und unten von origin abhängen.
Für
origin == 'upper'ist der Standard(-0.5, numcols-0.5, numrows-0.5, -0.5).Für
origin == 'lower'ist der Standard(-0.5, numcols-0.5, -0.5, numrows-0.5).
Siehe das Tutorial Origin und extent in imshow für Beispiele und eine detailliertere Beschreibung.
- filternormbool, Standard: True
Ein Parameter für den Antigrain-Bildgrößenänderungsfilter (siehe Antigrain-Dokumentation). Wenn filternorm gesetzt ist, normalisiert der Filter ganzzahlige Werte und korrigiert Rundungsfehler. Er tut nichts mit den Quell-Gleitkommawerten, er korrigiert nur ganze Zahlen gemäß der Regel von 1.0, was bedeutet, dass die Summe der Pixelgewichte 1.0 ergeben muss. Die Filterfunktion muss also einen Graphen mit der richtigen Form erzeugen.
- filterradfloat > 0, Standard: 4.0
Der Filterradius für Filter, die einen Radiusparameter haben, d.h. wenn die Interpolation eine der folgenden ist: 'sinc', 'lanczos' oder 'blackman'.
- resamplebool, Standard:
rcParams["image.resample"](Standard:True) Wenn True, wird eine vollständige Neuberechnungsmethode verwendet. Wenn False, wird nur dann neu berechnet, wenn das Ausgabebild größer als das Eingabebild ist.
- urlstr, optional
Setzt die URL des erstellten
AxesImage. SieheArtist.set_url.
- Gibt zurück:
- Andere Parameter:
Siehe auch
matshowZeichnet eine Matrix oder ein Array als Bild.
Anmerkungen
Sofern nicht extent verwendet wird, befinden sich Pixelmittelpunkte bei ganzzahligen Koordinaten. Mit anderen Worten: Der Ursprung fällt mit dem Mittelpunkt des Pixels (0, 0) zusammen.
Es gibt zwei gängige Darstellungen für RGB-Bilder mit einem Alpha-Kanal
Gerades (nicht zugeordnetes) Alpha: R-, G- und B-Kanäle stellen die Farbe des Pixels dar, ohne seine Opazität zu berücksichtigen.
Vormultipliziertes (zugeordnetes) Alpha: R-, G- und B-Kanäle stellen die Farbe des Pixels dar, angepasst an seine Opazität durch Multiplikation.
imshowerwartet RGB-Bilder im geraden (nicht zugeordneten) Alpha-Format.
Beispiele für die Verwendung von matplotlib.axes.Axes.imshow#
Animiertes Bild mit einer vorkompilierten Bildliste
Position und Größe einer Farbleiste mit Inset Axes steuern
Eine Farbskala aus einer Liste von Farben erstellen
Beschattierte & Leistungsnormalisierte Darstellung