matplotlib.axes.Axes.imshow #
- Achsen. imshow ( X , cmap = Keine , Norm = Keine , * , Aspekt = Keine , Interpolation = Keine , Alpha = Keine , vmin = Keine , vmax = Keine , Ursprung = Keine , Ausdehnung = Keine , Interpolation_stage = Keine , Filternorm = True ,filterrad = 4.0 , resample = None , url = None , data = None , ** kwargs ) [Quelle] #
Zeigen Sie Daten als Bild an, dh auf einem regulären 2D-Raster.
Die Eingabe können entweder tatsächliche RGB(A)-Daten oder skalare 2D-Daten sein, die als Pseudofarbenbild gerendert werden. Um ein Graustufenbild anzuzeigen, richten Sie die Farbzuordnung mit den Parametern ein .
cmap='gray', vmin=0, vmax=255
Die Anzahl der Pixel, die zum Rendern eines Bildes verwendet werden, wird durch die Achsengröße und die dpi der Figur festgelegt. Dies kann beim Resampling des Bildes zu Aliasing-Artefakten führen, da die angezeigte Bildgröße normalerweise nicht mit der Größe von X übereinstimmt (siehe Bild-Antialiasing ). Das Resampling kann über die Interpolationsparameter und/oder gesteuert werden
rcParams["image.interpolation"]
(Default:'antialiased'
).- Parameter :
- X -Array-ähnliches oder PIL-Bild
Die Bilddaten. Unterstützte Arrayformen sind:
(M, N): ein Bild mit skalaren Daten. Die Werte werden unter Verwendung von Normalisierung und einer Farbzuordnung auf Farben abgebildet. Siehe Parameter norm , cmap , vmin , vmax .
(M, N, 3): ein Bild mit RGB-Werten (0-1 float oder 0-255 int).
(M, N, 4): ein Bild mit RGBA-Werten (0-1 Float oder 0-255 Int), dh inklusive Transparenz.
Die ersten beiden Dimensionen (M, N) definieren die Zeilen und Spalten des Bildes.
Außerhalb des Bereichs liegende RGB(A)-Werte werden abgeschnitten.
- cmap str oder
Colormap
, Standard:rcParams["image.cmap"]
(Standard:'viridis'
) Die Colormap-Instanz oder der registrierte Colormap-Name, der zum Zuordnen von Skalardaten zu Farben verwendet wird.
Dieser Parameter wird ignoriert, wenn X RGB(A) ist.
- norm str oder
Normalize
, optional Die Normalisierungsmethode, die verwendet wird, um skalare Daten auf den Bereich [0, 1] zu skalieren, bevor sie mithilfe von cmap auf Farben abgebildet werden . Standardmäßig wird eine lineare Skalierung verwendet, die den niedrigsten Wert auf 0 und den höchsten auf 1 abbildet.
Falls angegeben, kann dies einer der folgenden sein:
Eine Instanz
Normalize
oder eine ihrer Unterklassen (siehe Colormap-Normalisierung ).Ein Skalenname, z. B. „linear“, „log“, „symlog“, „logit“ usw. Rufen Sie für eine Liste der verfügbaren Skalen auf
matplotlib.scale.get_scale_names()
. In diesem Fall wird eine geeigneteNormalize
Unterklasse dynamisch generiert und instanziiert.
Dieser Parameter wird ignoriert, wenn X RGB(A) ist.
- vmin, vmax Float, optional
Wenn skalare Daten und keine explizite Norm verwendet werden, definieren vmin und vmax den Datenbereich, den die Farbtabelle abdeckt. Standardmäßig deckt die Colormap den kompletten Wertebereich der gelieferten Daten ab. Es ist ein Fehler, vmin / vmax zu verwenden, wenn eine Norminstanz angegeben ist (aber die Verwendung eines Normnamens zusammen mit vmin / vmax ist akzeptabel).
str
Dieser Parameter wird ignoriert, wenn X RGB(A) ist.
- Aspekt {'equal', 'auto'} oder Float, Standard:
rcParams["image.aspect"]
(Standard:'equal'
) 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 werden quadratisch sein (es sei denn, Pixelgrößen werden in Datenkoordinaten explizit nicht-quadratisch gemacht, indem der Umfang verwendet wird ).
'auto': Die Achsen bleiben fixiert und das Seitenverhältnis wird so angepasst, dass die Daten in die Achsen passen. Im Allgemeinen führt dies zu nicht quadratischen Pixeln.
- Interpolationszeichenfolge , Standard:
rcParams["image.interpolation"]
(Standard:'antialiased'
) Die verwendete Interpolationsmethode.
Unterstützte Werte sind „none“, „antialiased“, „nearest“, „bilinear“, „bicubic“, „spline16“, „spline36“, „hanning“, „hamming“, „hermite“, „kaiser“, „quadric“. , 'catrom', 'gauß', 'bessel', 'mitchell', 'sinc', 'lanczos', 'blackman'.
Wenn die Interpolation „none“ ist, wird keine Interpolation auf den Agg-, ps-, pdf- und svg-Backends durchgeführt. Andere Backends greifen auf „am nächsten“ zurück. Beachten Sie, dass die meisten SVG-Renderer beim Rendern eine Interpolation durchführen und dass die von ihnen implementierte Standard-Interpolationsmethode abweichen kann.
Wenn die Interpolation standardmäßig „antialiased“ ist, dann wird die „nächstgelegene“ Interpolation verwendet, wenn das Bild um mehr als den Faktor drei hochgerechnet wird (dh die Anzahl der Anzeigepixel ist mindestens dreimal so groß wie das Datenarray). Wenn die Upsampling-Rate kleiner als 3 ist oder das Bild heruntergesampelt wird, wird die "Hanning"-Interpolation als Anti-Aliasing-Filter verwendet, es sei denn, das Bild wird genau um den Faktor zwei oder eins hochgesampelt.
Siehe Interpolationen für imshow für einen Überblick über die unterstützten Interpolationsmethoden und Bild-Antialiasing 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ößenfilter durch den Parameter filternorm gesteuert .
- interpolation_stage {'data', 'rgba'}, Standard: 'data'
Bei „Daten“ erfolgt die Interpolation anhand der vom Benutzer bereitgestellten Daten. Bei 'rgba' wird die Interpolation durchgeführt, nachdem das Colormapping angewendet wurde (visuelle Interpolation).
- Alpha Float oder Array-ähnlich, optional
Der Alpha-Blending-Wert zwischen 0 (transparent) und 1 (deckend). Wenn Alpha ein Array ist, werden die Alpha-Mischwerte Pixel für Pixel angewendet, und Alpha muss die gleiche Form wie X haben .
- Herkunft {'upper', 'lower'}, Standard:
rcParams["image.origin"]
(Standard:'upper'
) Platzieren Sie den Index [0, 0] des Arrays in der oberen linken oder unteren linken Ecke der Achsen. Die Konvention (Standardwert) „upper“ wird typischerweise für Matrizen und Bilder verwendet.
Beachten Sie, dass die vertikale Achse für „unten“ nach oben, für „oben“ jedoch nach unten zeigt.
Beispiele und eine detailliertere Beschreibung finden Sie im Tutorial zu Ursprung und Ausdehnung im imshow- Tutorial .
- Ausdehnung schwebt (links, rechts, unten, oben), optional
Der Begrenzungsrahmen in Datenkoordinaten, den das Bild ausfüllt. Das Bild wird einzeln entlang x und y gestreckt, um die Box auszufüllen.
Der Ausfallumfang wird durch die folgenden Bedingungen bestimmt. Pixel haben eine Einheitsgröße in Datenkoordinaten. Ihre Mittelpunkte befinden sich auf ganzzahligen Koordinaten, und ihre Mittelpunktkoordinaten reichen horizontal von 0 bis Spalten-1 und vertikal von 0 bis Zeilen-1.
Beachten Sie, dass die Richtung der vertikalen Achse und damit die Standardwerte für oben und unten vom Ursprung abhängen :
Denn die Voreinstellung ist .
origin == 'upper'
(-0.5, numcols-0.5, numrows-0.5, -0.5)
Denn die Voreinstellung ist .
origin == 'lower'
(-0.5, numcols-0.5, -0.5, numrows-0.5)
Beispiele und eine detailliertere Beschreibung finden Sie im Tutorial zu Ursprung und Ausdehnung im imshow- Tutorial .
- filternorm bool, Standard: True
Ein Parameter für den Antigrain-Bildgrößenfilter (siehe Antigrain-Dokumentation). Wenn filternorm gesetzt ist, normalisiert der Filter ganzzahlige Werte und korrigiert die Rundungsfehler. Es macht nichts mit den Fließkommawerten der Quelle, es korrigiert nur ganze Zahlen gemäß der Regel von 1,0, was bedeutet, dass jede Summe von Pixelgewichten gleich 1,0 sein 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, dh wenn die Interpolation eine der folgenden ist: 'sinc', 'lanczos' oder 'blackman'.
- Resample bool, Standard:
rcParams["image.resample"]
(Standard:True
) Wenn True , verwenden Sie eine vollständige Resampling-Methode. Bei False wird nur neu abgetastet, wenn das Ausgabebild größer als das Eingabebild ist.
- URL -Str, optional
Legen Sie die URL der erstellten
AxesImage
. SieheArtist.set_url
.
- Rückgaben :
- Andere Parameter :
Siehe auch
matshow
Zeichnen Sie eine Matrix oder ein Array als Bild.
Anmerkungen
Sofern keine Ausdehnung verwendet wird, befinden sich die Pixelzentren an ganzzahligen Koordinaten. Mit anderen Worten: Der Ursprung fällt mit dem Mittelpunkt des Pixels (0, 0) zusammen.
Es gibt zwei gebräuchliche Darstellungen für RGB-Bilder mit Alphakanal:
Gerades (nicht zugeordnetes) Alpha: R-, G- und B-Kanäle stellen die Farbe des Pixels dar, unabhängig von seiner Deckkraft.
Vormultipliziertes (assoziiertes) Alpha: Die R-, G- und B-Kanäle stellen die Farbe des Pixels dar, die durch Multiplikation an seine Opazität angepasst wird.
imshow
erwartet RGB-Bilder, die die reine (nicht zugeordnete) Alpha-Darstellung annehmen.
Beispiele mit matplotlib.axes.Axes.imshow
#
Balkendiagramm mit Farbverläufen
Interaktive Anpassung des Colormap-Bereichs
Kommentierte Heatmaps erstellen
Beschneiden von Bildern mit Patches
Mischen Sie Transparenz mit Farbe in 2D-Bildern
Ändern des Koordinatenformatierers
Einschubachsen des Zoombereichs
Erstellen einer Farbkarte aus einer Liste von Farben
Hinzufügen eines Farbbalkens zu Einschubachsen
Steuern der Position und Größe von Farbbalken mit Inset Axes
Shaded & Power Normalized Rendering
Animiertes Bild mit einer vorberechneten Liste von Bildern
Leitfaden für eingeschränktes Layout
Auswahl von Colormaps in Matplotlib