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=255ein.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
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 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 direktAxes.set_aspectauf, 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. SieheArtist.set_url.
- Gibt zurück:
- Andere Parameter:
Siehe auch
matshowZeichnet 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.
imshowerwartet RGB-Bilder, die die gerade (nicht assoziierte) Alpha-Darstellung verwenden.
Beispiele, die matplotlib.pyplot.imshow verwenden#
Eine Farbskala aus einer Liste von Farben erstellen