matplotlib.pyplot.imshow#

matplotlib.pyplot.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 sein oder 2D-Skalardaten, die als Pseudofarb-Bild gerendert werden. Zum Anzeigen eines Graustufenbildes richten Sie die Farbskala mit den Parametern cmap='gray', vmin=0, vmax=255 ein.

Die Anzahl der Pixel, die zur Darstellung eines Bildes verwendet werden, wird durch die Achsengröße und die Figure-dpi 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 Bildneuabtastung). Die Neuabtastung kann über den Parameter interpolation und/oder rcParams["image.interpolation"] (Standard: 'auto') gesteuert werden.

Parameter:
Xarray-artig oder PIL-Bild

Die Bilddaten. Unterstützte Array-Formen sind

  • (M, N): Ein Bild mit Skalardaten. Die Werte werden mithilfe von Normalisierung und einer Farbskala 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

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.

colorizerColorizer oder 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 sicher, dass das Seitenverhältnis 1 beträgt. Die Pixel sind quadratisch (sofern nicht explizit durch extent in Datenkoordinaten nicht-quadratische Pixelgrößen festgelegt werden).

  • '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 (der Standardwert), dass rcParams["image.aspect"] (Standard: 'equal') verwendet wird. Wenn das Bild jedoch eine Transformation verwendet, die die Achsendatentransformation nicht enthält, bedeutet None, dass das Achsen-Seitenverhältnis überhaupt nicht geändert wird (rufen Sie in diesem Fall direkt Axes.set_aspect 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 auf die Pixelgröße des Bildes auf der Figure-Leinwand neu abgetastet, wobei die Interpolationsmethode verwendet wird, um die Daten entweder hoch- oder herunterzuskalieren.

Wenn interpolation 'none' ist, dann treten für die Backends ps, pdf und svg keine Herunter- oder Hochskalierung auf, 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 'nearest'-Interpolation verwendet, wenn das Bild um mehr als den Faktor drei hochskaliert wird (d. h. die Anzahl der Anzeigepixel mindestens dreimal so groß ist wie die Größe des Datenarrays). Wenn die Hochskalierungsrate kleiner als 3 ist oder das Bild herunterskaliert wird, wird die 'hanning'-Interpolation als Antialiasing-Filter verwendet, es sei denn, das Bild wird genau um den Faktor zwei oder eins hochskaliert.

Siehe Interpolationsmethoden für imshow für einen Überblick über die unterstützten Interpolationsmethoden und Bildneuabtastung für eine Diskussion des Bild-Antialiasing.

Einige Interpolationsmethoden erfordern einen zusätzlichen Radiusparameter, der mit filterrad eingestellt werden kann. Zusätzlich wird der Antigrain-Bildskalierungsfilter 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 beim Hochskalieren interpoliert wird.

  • 'rgba': Die Interpolation wird im RGBA-Raum durchgeführt, nachdem die Farbabstimmung angewendet wurde. Dies ist nützlich beim Herunterskalieren und Kombinieren von Pixeln auf visuelle Weise.

  • 'auto': Wählt automatisch eine geeignete Interpolationsstufe aus. Dies verwendet 'rgba' beim Herunterskalieren oder beim Hochskalieren mit einer Rate kleiner als 3 und 'data' beim Hochskalieren mit einer höheren Rate.

Siehe Bildneuabtastung für eine Diskussion des Bild-Antialiasing.

alphafloat oder array-artig, optional

Der Alpha-Blending-Wert, zwischen 0 (transparent) und 1 (opak). Wenn alpha ein Array ist, werden die Alpha-Blending-Werte 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 (der Standardwert) 'upper' wird typischerweise für Matrizen und Bilder verwendet.

Beachten Sie, dass die vertikale Achse bei 'lower' nach oben, bei 'upper' jedoch nach unten zeigt.

Siehe das Tutorial Ursprung und Ausdehnung 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 individuell entlang x und y gestreckt, um die Box auszufüllen.

Die Standardausdehnung wird durch die folgenden Bedingungen bestimmt. Pixel haben Einheitsgröße in Datenkoordinaten. Ihre Zentren 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 Ursprung und Ausdehnung in imshow für Beispiele und eine detailliertere Beschreibung.

filternormbool, Standard: True

Ein Parameter für den Antigrain-Bildskalierungsfilter (siehe Antigrain-Dokumentation). Wenn filternorm gesetzt ist, normalisiert der Filter ganzzahlige Werte und korrigiert Rundungsfehler. Er tut nichts mit den ursprünglichen Fließkommawerten, er korrigiert nur Ganzzahlen gemäß der Regel von 1.0, was bedeutet, dass jede Summe von Pixelgewichten gleich 1.0 sein muss. Der Filter muss also eine Grafik 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 Neuabtastungsmethode verwendet. Wenn False, wird nur neu abgetastet, wenn das Ausgabebild größer als das Eingabebild ist.

urlstr, optional

Setzt die URL des erstellten AxesImage. Siehe Artist.set_url.

Gibt zurück:
AxesImage
Andere Parameter:
dataindizierbares Objekt, optional

Wenn angegeben, akzeptieren alle Parameter auch eine Zeichenkette s, die als data[s] interpretiert wird, wenn s ein Schlüssel in data ist.

**kwargsArtist-Eigenschaften

Diese Parameter werden an den Konstruktor des AxesImage-Künstlers weitergegeben.

Siehe auch

matshow

Zeichnet eine Matrix oder ein Array als Bild.

Anmerkungen

Hinweis

Dies ist der pyplot-Wrapper für axes.Axes.imshow.

Sofern nicht extent verwendet wird, liegen die Pixelzentren bei ganzzahligen Koordinaten. Mit anderen Worten: Der Ursprung fällt mit dem Zentrum des Pixels (0, 0) zusammen.

Es gibt zwei gängige Darstellungen für RGB-Bilder mit einem Alpha-Kanal

  • Gerades (nicht assoziiertes) Alpha: R-, G- und B-Kanäle stellen die Farbe des Pixels dar, ungeachtet seiner Deckkraft.

  • Vormultipliziertes (assoziiertes) Alpha: R-, G- und B-Kanäle stellen die Farbe des Pixels dar, angepasst an seine Deckkraft durch Multiplikation.

imshow erwartet RGB-Bilder, die die gerade (nicht assoziierte) Alpha-Darstellung verwenden.

Beispiele, die matplotlib.pyplot.imshow verwenden#

Farbleiste

Farbleiste

Eine Farbskala aus einer Liste von Farben erstellen

Eine Farbskala aus einer Liste von Farben erstellen

Affine Transformation eines Bildes

Affine Transformation eines Bildes

Barcode

Barcode

Konturbild

Konturbild

Annotierte Heatmap

Annotierte Heatmap

Bilder mit Patches beschneiden

Bilder mit Patches beschneiden

Viele Möglichkeiten, Bilder darzustellen

Viele Möglichkeiten, Bilder darzustellen

Bild mit maskierten Werten

Bild mit maskierten Werten

Transparenz mit Farbe in 2D-Bildern mischen

Transparenz mit Farbe in 2D-Bildern mischen

Interpolationen für imshow

Interpolationen für imshow

Bilder überlagern mit Alpha-Blending

Bilder überlagern mit Alpha-Blending

Matrizen mit matshow visualisieren

Matrizen mit matshow visualisieren

Mehrere Bilder mit einer Farbleiste

Mehrere Bilder mit einer Farbleiste

pcolor-Bilder

pcolor-Bilder

Schattierungsbeispiel

Schattierungsbeispiel

Hyperlinks

Hyperlinks

Delfine

Delfine

Abstände und Ränder von Subplots

Abstände und Ränder von Subplots

Bild-Tutorial

Bild-Tutorial

Tight layout guide

Tight layout guide