matplotlib.colors.LightSource#

class matplotlib.colors.LightSource(azdeg=315, altdeg=45, hsv_min_val=0, hsv_max_val=1, hsv_min_sat=1, hsv_max_sat=0)[Quelle]#

Bases: object

Erzeugt eine Lichtquelle, die aus dem angegebenen Azimut und der Elevation kommt. Winkel sind in Grad, wobei der Azimut im Uhrzeigersinn von Norden gemessen wird und die Elevation nach oben von der Null-Ebene der Oberfläche.

shade wird verwendet, um "schattierte" RGB-Werte für ein Datenarray zu erzeugen. shade_rgb kann verwendet werden, um ein RGB-Bild mit einer Höhenkarte zu kombinieren. hillshade erzeugt eine Beleuchtungskarte einer Oberfläche.

Geben Sie den Azimut (im Uhrzeigersinn von Süden gemessen) und die Höhe (nach oben von der Ebene der Oberfläche gemessen) der Lichtquelle in Grad an.

Parameter:
azdegfloat, Standard: 315 Grad (von Nordwesten)

Der Azimut (0-360, Grad im Uhrzeigersinn von Norden) der Lichtquelle.

altdegfloat, Standard: 45 Grad

Die Höhe (0-90, Grad nach oben von der Horizontalen) der Lichtquelle.

hsv_min_valZahl, Standard: 0

Der minimale Wert ("v" in "hsv"), auf den die *Intensitäts*-Karte das Ausgabebild verschieben kann.

hsv_max_valZahl, Standard: 1

Der maximale Wert ("v" in "hsv"), auf den die *Intensitäts*-Karte das Ausgabebild verschieben kann.

hsv_min_satZahl, Standard: 1

Der minimale Sättigungswert, auf den die *Intensitäts*-Karte das Ausgabebild verschieben kann.

hsv_max_satZahl, Standard: 0

Der maximale Sättigungswert, auf den die *Intensitäts*-Karte das Ausgabebild verschieben kann.

Anmerkungen

Aus Kompatibilitätsgründen können die Parameter hsv_min_val, hsv_max_val, hsv_min_sat und hsv_max_sat auch bei der Initialisierung übergeben werden. Diese Parameter werden jedoch nur verwendet, wenn "blend_mode='hsv'" an shade oder shade_rgb übergeben wird. Weitere Details finden Sie in der Dokumentation von blend_hsv.

blend_hsv(rgb, intensity, hsv_max_sat=None, hsv_max_val=None, hsv_min_val=None, hsv_min_sat=None)[Quelle]#

Nimmt das Eingabedatenarray, konvertiert es in HSV-Werte in der angegebenen Colormap und passt dann diese Farbwerte an, um den Eindruck einer schattierten Reliefkarte mit einer angegebenen Lichtquelle zu erzeugen. RGBA-Werte werden zurückgegeben, die dann verwendet werden können, um das schattierte Bild mit imshow zu plotten.

Die Farbe des resultierenden Bildes wird abgedunkelt, indem die (s, v)-Werte (im HSV-Farbraum) in den schattierten Bereichen zu (hsv_min_sat, hsv_min_val) verschoben werden, oder aufgehellt, indem (s, v) in den beleuchteten Bereichen zu (hsv_max_sat, hsv_max_val) verschoben werden. Die Standard-Extremwerte sind so gewählt, dass vollständig schattierte Punkte fast schwarz (s = 1, v = 0) und vollständig beleuchtete Punkte fast weiß (s = 0, v = 1) sind.

Parameter:
rgbndarray

Ein (M, N, 3) RGB-Array von Gleitkommazahlen im Bereich von 0 bis 1 (Farbbild).

intensityndarray

Ein (M, N, 1) Array von Gleitkommazahlen im Bereich von 0 bis 1 (Graustufenbild).

hsv_max_satZahl, optional

Der maximale Sättigungswert, auf den die *Intensitäts*-Karte das Ausgabebild verschieben kann. Wenn nicht angegeben, wird der bei der Initialisierung angegebene Wert verwendet.

hsv_min_satZahl, optional

Der minimale Sättigungswert, auf den die *Intensitäts*-Karte das Ausgabebild verschieben kann. Wenn nicht angegeben, wird der bei der Initialisierung angegebene Wert verwendet.

hsv_max_valZahl, optional

Der maximale Wert ("v" in "hsv"), auf den die *Intensitäts*-Karte das Ausgabebild verschieben kann. Wenn nicht angegeben, wird der bei der Initialisierung angegebene Wert verwendet.

hsv_min_valZahl, optional

Der minimale Wert ("v" in "hsv"), auf den die *Intensitäts*-Karte das Ausgabebild verschieben kann. Wenn nicht angegeben, wird der bei der Initialisierung angegebene Wert verwendet.

Gibt zurück:
ndarray

Ein (M, N, 3) RGB-Array, das die kombinierten Bilder darstellt.

blend_overlay(rgb, intensity)[Quelle]#

Kombiniert ein RGB-Bild mit einer Intensitätskarte unter Verwendung von "Overlay"-Blending.

Parameter:
rgbndarray

Ein (M, N, 3) RGB-Array von Gleitkommazahlen im Bereich von 0 bis 1 (Farbbild).

intensityndarray

Ein (M, N, 1) Array von Gleitkommazahlen im Bereich von 0 bis 1 (Graustufenbild).

Gibt zurück:
ndarray

Ein (M, N, 3) RGB-Array, das die kombinierten Bilder darstellt.

blend_soft_light(rgb, intensity)[Quelle]#

Kombiniert ein RGB-Bild mit einer Intensitätskarte unter Verwendung von "Soft Light"-Blending nach der "Pegtop"-Formel.

Parameter:
rgbndarray

Ein (M, N, 3) RGB-Array von Gleitkommazahlen im Bereich von 0 bis 1 (Farbbild).

intensityndarray

Ein (M, N, 1) Array von Gleitkommazahlen im Bereich von 0 bis 1 (Graustufenbild).

Gibt zurück:
ndarray

Ein (M, N, 3) RGB-Array, das die kombinierten Bilder darstellt.

property direction#

Der Einheitsvektor der Richtung zur Lichtquelle.

hillshade(elevation, vert_exag=1, dx=1, dy=1, fraction=1.0)[Quelle]#

Berechnet die Beleuchtungsintensität für eine Oberfläche unter Verwendung des definierten Azimuts und der Elevation für die Lichtquelle.

Dies berechnet die Normalenvektoren für die Oberfläche und übergibt sie dann an shade_normals

Parameter:
elevation2D array-ähnlich

Die Höhenwerte, die zur Erzeugung einer Beleuchtungskarte verwendet werden.

vert_exagZahl, optional

Der Betrag, um den die Höhenwerte bei der Berechnung der Beleuchtung übertrieben werden. Dies kann entweder zur Korrektur von Unterschieden in den Einheiten zwischen dem x-y-Koordinatensystem und dem Höhenkoordinatensystem (z. B. Dezimalgrad vs. Meter) oder zur Übertreibung oder Abschwächung topografischer Effekte verwendet werden.

dxZahl, optional

Der x-Abstand (Spalten) des Eingabe-elevation-Gitters.

dyZahl, optional

Der y-Abstand (Zeilen) des Eingabe-elevation-Gitters.

fractionZahl, optional

Erhöht oder verringert den Kontrast des Hillshade. Werte größer als eins führen dazu, dass Zwischenwerte näher an die volle Beleuchtung oder den Schatten rücken (und alle Werte abschneiden, die über 0 oder 1 hinausgehen). Beachten Sie, dass dies visuell und mathematisch nicht dasselbe ist wie vertikale Übertreibung.

Gibt zurück:
ndarray

Ein 2D-Array von Beleuchtungswerten zwischen 0 und 1, wobei 0 vollständig im Schatten und 1 vollständig beleuchtet ist.

shade(data, cmap, norm=None, blend_mode='overlay', vmin=None, vmax=None, vert_exag=1, dx=1, dy=1, fraction=1, **kwargs)[Quelle]#

Kombiniert farbcodierte Datenwerte mit einer Beleuchtungsintensitätskarte (auch "Hillshade" genannt) der Werte.

Parameter:
data2D array-ähnlich

Die Höhenwerte, die zur Erzeugung einer schattierten Karte verwendet werden.

cmapColormap

Die Colormap, die verwendet wird, um das data-Array zu färben. Beachten Sie, dass dies eine Instanz von Colormap sein muss. Anstatt beispielsweise cmap='gist_earth' zu übergeben, verwenden Sie stattdessen cmap=plt.get_cmap('gist_earth').

normNormalize Instanz, optional

Die Normalisierung, die verwendet wird, um Werte vor der Farbcodierung zu skalieren. Wenn None, werden die Eingaben linear zwischen ihrem Minimum und Maximum skaliert.

blend_mode{'hsv', 'overlay', 'soft'} oder aufrufbar, optional

Der Typ des Blendings, der verwendet wird, um die farbcodierten Datenwerte mit der Beleuchtungsintensität zu kombinieren. Standard ist "overlay". Beachten Sie, dass für die meisten topografischen Oberflächen "overlay" oder "soft" visuell realistischer erscheinen. Wenn eine benutzerdefinierte Funktion bereitgestellt wird, wird erwartet, dass sie ein (M, N, 3) RGB-Array von Gleitkommazahlen (Bereich 0 bis 1) mit einem (M, N, 1) Hillshade-Array (ebenfalls 0 bis 1) kombiniert. (Aufru Signatur func(rgb, illum, **kwargs)) Zusätzliche kwargs, die an diese Funktion übergeben werden, werden an die blend_mode-Funktion weitergeleitet.

vminfloat oder None, optional

Der minimale Wert, der bei der Farbcodierung von data verwendet wird. Wenn None, wird der minimale Wert in data verwendet. Wenn norm angegeben ist, wird dieses Argument ignoriert.

vmaxfloat oder None, optional

Der maximale Wert, der bei der Farbcodierung von data verwendet wird. Wenn None, wird der maximale Wert in data verwendet. Wenn norm angegeben ist, wird dieses Argument ignoriert.

vert_exagZahl, optional

Der Betrag, um den die Höhenwerte bei der Berechnung der Beleuchtung übertrieben werden. Dies kann entweder zur Korrektur von Unterschieden in den Einheiten zwischen dem x-y-Koordinatensystem und dem Höhenkoordinatensystem (z. B. Dezimalgrad vs. Meter) oder zur Übertreibung oder Abschwächung der Topografie verwendet werden.

dxZahl, optional

Der x-Abstand (Spalten) des Eingabe-elevation-Gitters.

dyZahl, optional

Der y-Abstand (Zeilen) des Eingabe-elevation-Gitters.

fractionZahl, optional

Erhöht oder verringert den Kontrast des Hillshade. Werte größer als eins führen dazu, dass Zwischenwerte näher an die volle Beleuchtung oder den Schatten rücken (und alle Werte abschneiden, die über 0 oder 1 hinausgehen). Beachten Sie, dass dies visuell und mathematisch nicht dasselbe ist wie vertikale Übertreibung.

**kwargs

Zusätzliche kwargs werden an die blend_mode-Funktion weitergeleitet.

Gibt zurück:
ndarray

Ein (M, N, 4) Array von Gleitkommazahlen im Bereich von 0-1.

shade_normals(normals, fraction=1.0)[Quelle]#

Berechnet die Beleuchtungsintensität für die Normalenvektoren einer Oberfläche unter Verwendung des definierten Azimuts und der Elevation für die Lichtquelle.

Stellen Sie sich eine künstliche Sonne vor, die sich in einer bestimmten Azimut- und Elevationsposition befindet und unsere Oberfläche beleuchtet. Die Teile der Oberfläche, die zur Sonne geneigt sind, sollten heller werden, während die abgewandten Seiten dunkler werden sollten.

Parameter:
fractionZahl, optional

Erhöht oder verringert den Kontrast des Hillshade. Werte größer als eins führen dazu, dass Zwischenwerte näher an die volle Beleuchtung oder den Schatten rücken (und alle Werte abschneiden, die über 0 oder 1 hinausgehen). Beachten Sie, dass dies visuell und mathematisch nicht dasselbe ist wie vertikale Übertreibung.

Gibt zurück:
ndarray

Ein 2D-Array von Beleuchtungswerten zwischen 0 und 1, wobei 0 vollständig im Schatten und 1 vollständig beleuchtet ist.

shade_rgb(rgb, elevation, fraction=1.0, blend_mode='hsv', vert_exag=1, dx=1, dy=1, **kwargs)[Quelle]#

Verwenden Sie diese Lichtquelle, um die Farben des rgb-Eingabearrays anzupassen, um den Eindruck einer schattierten Reliefkarte mit der gegebenen elevation zu erzeugen.

Parameter:
rgbarray-ähnlich

Ein (M, N, 3) RGB-Array, das im Bereich von 0 bis 1 angenommen wird.

elevationarray-ähnlich

Ein (M, N) Array von Höhenwerten, das zur Erzeugung einer schattierten Karte verwendet wird.

fractionZahl

Erhöht oder verringert den Kontrast des Hillshade. Werte größer als eins führen dazu, dass Zwischenwerte näher an die volle Beleuchtung oder den Schatten rücken (und alle Werte abschneiden, die über 0 oder 1 hinausgehen). Beachten Sie, dass dies visuell und mathematisch nicht dasselbe ist wie vertikale Übertreibung.

blend_mode{'hsv', 'overlay', 'soft'} oder aufrufbar, optional

Der Typ des Blendings, der verwendet wird, um die farbcodierten Datenwerte mit der Beleuchtungsintensität zu kombinieren. Aus Kompatibilitätsgründen ist der Standardwert "hsv". Beachten Sie, dass für die meisten topografischen Oberflächen "overlay" oder "soft" visuell realistischer erscheinen. Wenn eine benutzerdefinierte Funktion bereitgestellt wird, wird erwartet, dass sie ein (M, N, 3) RGB-Array von Gleitkommazahlen (Bereich 0 bis 1) mit einem (M, N, 1) Hillshade-Array (ebenfalls 0 bis 1) kombiniert. (Aufru Signatur func(rgb, illum, **kwargs)) Zusätzliche kwargs, die an diese Funktion übergeben werden, werden an die blend_mode-Funktion weitergeleitet.

vert_exagZahl, optional

Der Betrag, um den die Höhenwerte bei der Berechnung der Beleuchtung übertrieben werden. Dies kann entweder zur Korrektur von Unterschieden in den Einheiten zwischen dem x-y-Koordinatensystem und dem Höhenkoordinatensystem (z. B. Dezimalgrad vs. Meter) oder zur Übertreibung oder Abschwächung der Topografie verwendet werden.

dxZahl, optional

Der x-Abstand (Spalten) des Eingabe-elevation-Gitters.

dyZahl, optional

Der y-Abstand (Zeilen) des Eingabe-elevation-Gitters.

**kwargs

Zusätzliche kwargs werden an die blend_mode-Funktion weitergeleitet.

Gibt zurück:
ndarray

Ein (m, n, 3) Array von Gleitkommazahlen im Bereich von 0 bis 1.

Beispiele für die Verwendung von matplotlib.colors.LightSource#

Schattierungsbeispiel

Schattierungsbeispiel

AGG-Filter

AGG-Filter

Benutzerdefinierte Hillshading in einem 3D-Oberflächendiagramm

Benutzerdefinierte Hillshading in einem 3D-Oberflächendiagramm

Beschattierte & Leistungsnormalisierte Darstellung

Beschattierte & Leistungsnormalisierte Darstellung

Hillshading

Hillshading

Topografisches Hillshading

Topografisches Hillshading