Farbkarten in Matplotlib | Wenn Grafikdesigner Matplotlib treffen

Inhalt

Ihre eigenen Farbkarten

Nicht an allen bereitgestellten Farbkarten interessiert? Oder benötigen Sie andere ausgefallene Farbkarten? Wenn ja, du musst diesen Beitrag bis zum Ende lesen. Ich werde Sie durch die Anpassung und Erstellung Ihrer eigenen Farbkarten führen.

Aber bevor Sie es anpassen, Ich zeige Ihnen ein Beispiel für die Verwendung von Farbkarten. Ich habe das benutzt ‘RdYlBu_r„Farbkarten zur Visualisierung meiner Daten“.

1repkpehdtxe5fnu_hqcdwq-9117981

Lassen Sie uns Ihre eigenen Farbkarten ändern.

Zuerst, wir müssen simulierte Daten erstellen, die angezeigt werden, mit diesem Code

# einige Bibliotheken importieren /  Module
numpy als np importieren
import matplotlib.pyplot als plt# Scheindaten erstellen
Daten = np.zufällig.zufällig([100, 100]) * 10

Die Datenvariable ist ein Array bestehend aus 100 x 100 Zufallszahlen von 0 al 10. Sie können es überprüfen, indem Sie diesen Code schreiben.

1raeoqngyzq9yat_wcpwtsw-5346265

Danach, Wir werden die simulierten Daten mit Standard-Colormaps mit dem folgenden einfachen Code anzeigen.

plt.figur(Feigengröße=(7, 6))plt.pcolormesh(Daten)
plt.colorbar()

Der Code zeigt dir eine Figur wie diese.

1tfqp4c5biki3t9pkbgbyzg-4916891

Wie ich bereits erwähnte, wenn Sie die verwendeten Farbkarten nicht definiert haben, Sie erhalten die Standard-Colormaps, namens ‘viridis‘.

Dann, Ich werde die Farbkarten von . ändern ‘viridis'ein’ Inferno 'Farbkarten mit diesem Code-

plt.pcolormesh(Daten, cmap='inferno')

Sie erhalten das Ergebnis so. Viridis

1epy4iobkukeblowmmffuxw-3368622


Farbkarten ändern

Jetzt, um die Farbkarten zu ändern, Sie müssen diese folgenden Unterbibliotheken in Matplotlib importieren.

aus Matplotlib-Import cm
aus matplotlib.colors importieren ListedColormap,LinearSegmentedColormap

So ändern Sie die Farbklassennummer in Ihren Farbkarten, Sie können diesen Code verwenden

new_inferno = cm.get_cmap('Inferno', 5)# visualisieren mit den new_inferno colormaps
plt.pcolormesh(Daten, cmap = new_inferno)
plt.colorbar()

und du bekommst so ein ergebnis

1n-yfpe64xds4tcvf3v06q-4397422

Als nächstes ändern Sie die Farbe des Bereichs in einer Colormap. Ich gebe Ihnen ein Beispiel in Farbkarten ‚hsv‘. Sie müssen die Farbskala mit dieser Figur verstehen.

1knljmcykkacavlqwj-nqla-4189041

Wenn wir nur die grüne Farbe verwenden wollen (Über 0.3) zur blauen Farbe (0.7), Wir können den folgenden Code verwenden.

# modifizierte hsv in 256 Farbklasse
hsv_modified = cm.get_cmap('hsv', 256)# Erstellen Sie neue HSV-Farbkarten im Bereich von 0.3 (Grün) zu 0.7 (Blau)
newcmp = ListedColormap(hsv_modified(z.B. linspace(0.3, 0.7, 256)))# Figur anzeigen
plt.figur(Feigengröße=(7, 6))
plt.pcolormesh(Daten, cmap = newcmp)
plt.colorbar()

Es wird dir eine Figur wie diese geben

19ntdb0aolk9bhlbwmqs2cw-9548003

Erstellen Sie Ihre eigenen Farbkarten

Um Ihre eigenen Farbkarten zu erstellen, Es gibt mindestens zwei Methoden. Zuerst, Sie können zwei sequentielle Colormaps in Matplotlib kombinieren. Zweitens, Sie können Ihre Lieblingsfarbe in RGB auswählen und anpassen, um Farbkarten zu erstellen.

Wir zeigen Ihnen, wie Sie zwei aufeinanderfolgende Colormaps kombinieren, um eine neue Colormap zu erstellen. Wir wollen „Orangen“ kombinieren’ und Blau'.

1rlilduduamx11de4uxoumg-4097986

Sie können diesen Code sorgfältig lesen.

# establece obere und untere Farbkarte
top = cm.get_cmap('Orangen_r', 128) # r bedeutet umgekehrte Version
unten = cm.get_cmap('Blues', 128)# kombiniere alles
newcolors = np.vstack((oben(z.B. linspace(0, 1, 128)),
                       Unterseite(z.B. linspace(0, 1, 128))))# Erstellen Sie eine neue Farbkarte mit dem Namen OrangeBlue
orange_blue = ListedColormap(neueFarben, name="OrangeBlau")

Wenn Sie die simulierten Daten mithilfe der Farbkarten „OrangeBlue“ anzeigen, Du bekommst so eine Figur.

1wncg6ygkxwhaztqtu14hww-1044333

Als nächstes erstellen Sie eine Farbkarte aus zwei verschiedenen Farben, die Ihnen gefallen. Für diesen Fall, Ich werde versuchen, es aus gelber und roter Farbe zu erstellen, wie im nächsten Bild gezeigt.

1virwxzf6rw2olkbdd0wltg-1192361

Zuerst, Sie müssen gelbe Karten erstellen

# Erstellen Sie gelbe FarbkartenN = 256gelb = np.ones((n, 4))Gelb[:, 0] = z.B. linspace(255/256, 1, n) # R = 255
Gelb[:, 1] = z.B. linspace(232/256, 1, n) # G = 232
Gelb[:, 2] = z.B. linspace(11/256, 1, n)  # B = 11yellow_cmp = ListedColormap(Gelb)

und rote Karten

rot = np.ones((n, 4))rot[:, 0] = z.B. linspace(255/256, 1, n)
rot[:, 1] = z.B. linspace(0/256, 1, n)
rot[:, 2] = z.B. linspace(65/256, 1, n)red_cmp = ListedColormap(rot)

Die von Ihnen erstellte gelbe und rote Kartendarstellung wird im nächsten Bild angezeigt

Abonniere unseren Newsletter

Wir senden Ihnen keine SPAM-Mail. Wir hassen es genauso wie du.