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“.
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.
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.
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
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
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.
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
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'.
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.
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.
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