Umgekehrte Colormap in Python Matplotlib erstellen
- Colormaps in Matplotlib Python
-
Umkehren von Farbkarten in Matplotlib Python mit
_r
-
Umkehrung von Farbkarten in Matplotlib Python mit
matplotlib.colors.Colormap.reversed()
Die Colormap ist eine einfache Möglichkeit, Datenwerte auf Farben abzubilden. Das Umkehren der Colormap bedeutet, dass die Farbzuordnung der einzelnen Werte umgekehrt wird. Angenommen, wir haben eine Colormap, in der niedrigere Werte der Farbe “Gelb” und höhere Werte der Farbe “Rot” zugeordnet sind. Durch Umkehrung der Farbzuordnung werden nun die niedrigeren Werte der Farbe “Rot” und die höheren Werte der Farbe “Gelb” zugeordnet. In diesem Tutorial werden verschiedene Möglichkeiten zum Umkehren von Colormaps in Python Matplotlib erklärt.
Colormaps in Matplotlib Python
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(9)
y = [9, 2, 8, 4, 5, 7, 6, 8, 7]
plt.scatter(x, y, c=y, cmap="viridis")
plt.xlabel("X")
plt.ylabel("Y")
plt.title("Scatter Plot with Virdis colormap")
plt.colorbar()
plt.show()
Ausgabe:
Es wird ein Scatterplot erzeugt, dessen y-Werte auf die Colormap viridis
abgebildet werden. Das bedeutet, dass die Punkte mit niedrigeren y-Werten die dunkelblaue Farbe haben, die Punkte mit höheren y-Werten die gelbe Farbe, und die Zwischenpunkte haben die Farben blue
und green
.
Wir können auch einen Farbbalken auf der rechten Seite der Abbildung sehen, der die Farbzuordnung für die verschiedenen Werte von y anzeigt.
Umkehren von Farbkarten in Matplotlib Python mit _r
Wir können eine Colormap umkehren, indem wir _r
am Ende des Namens der Colormap in Matplotlib hinzufügen. z. B. cmap='viridis_r'
kehrt einfach die viridis
Colormap um.
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(9)
y = [9, 2, 8, 4, 5, 7, 6, 8, 7]
plt.scatter(x, y, c=y, cmap="viridis_r")
plt.xlabel("X")
plt.ylabel("Y")
plt.title("Scatter Plot with Inverse Virdis colormap")
plt.colorbar()
plt.show()
Ausgabe:
Es wird ein Scatterplot erzeugt, dessen y-Werte auf die invertierte viridis
-Farbkarte abgebildet werden. Daher erhalten die Punkte mit höheren Werten in der Abbildung die dunkelblaue Farbe, und die Punkte mit niedrigeren Werten erhalten die gelbe Farbe.
Wir können auch sehen, dass der Farbbalken rechts in diesem Beispiel die Farbe umgekehrt hat.
Umkehrung von Farbkarten in Matplotlib Python mit matplotlib.colors.Colormap.reversed()
Eine weitere Möglichkeit, Colormaps in Python umzukehren, ist die Verwendung der Methode matplotlib.colors.Colormap.reversed()
, um die umgekehrte Colormap zu erzeugen.
import numpy as np
import matplotlib.pyplot as plt
from matplotlib import cm
x = np.arange(9)
y = [9, 2, 8, 4, 5, 7, 6, 8, 7]
initial_cmap = cm.get_cmap("viridis")
reversed_cmap = initial_cmap.reversed()
plt.scatter(x, y, c=y, cmap=reversed_cmap)
plt.xlabel("X")
plt.ylabel("Y")
plt.title("Scatter Plot with Inverse Virdis colormap")
plt.colorbar()
plt.show()
Ausgabe:
Es wird auch ein Scatter-Plot erzeugt, dessen y-Werte auf die umgekehrte viridis
-Farbkarte abgebildet werden. Die Methode reversed()
kehrt das Colormap-Objekt um, auf das die Methode angewendet wird.
import numpy as np
import matplotlib.pyplot as plt
from matplotlib import cm
from matplotlib.colors import ListedColormap
x = np.arange(9)
y = [9, 2, 8, 4, 5, 7, 6, 8, 7]
initial_cmap = cm.get_cmap("viridis")
reversed_cmap = ListedColormap(initial_cmap.colors[::-1])
plt.scatter(x, y, c=y, cmap=reversed_cmap)
plt.xlabel("X")
plt.ylabel("Y")
plt.title("Scatter Plot with Inverse Virdis colormap")
plt.colorbar()
plt.show()
Ausgabe:
Außerdem wird ein Scatter-Plot erzeugt, dessen y-Werte auf die umgekehrte viridis
-Farbkarte abgebildet werden. Jede Colormap ist nur eine Liste von Farben. Wir können auf die Liste der Farben einer Farbkarte cmap
mit cmap.colors
zugreifen. Dann kehren wir die Liste um und konvertieren schließlich die umgekehrte Liste zurück in eine Farbkarte mit der Funktion ListedColormap()
aus dem Paket matplotlib.colors
.
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn