Crea mappa colori inversa in Python Matplotlib

Suraj Joshi 30 gennaio 2023
  1. Mappe dei colori in Matplotlib Python
  2. Invertire le mappe dei colori in Matplotlib Python con _r
  3. Invertire le mappe dei colori in Matplotlib Python con matplotlib.colors.Colormap.reversed()
Crea mappa colori inversa in Python Matplotlib

La mappa colori è un modo semplice per mappare i valori dei dati ai colori. Invertire la mappa dei colori significa invertire la mappa dei colori di ciascun valore. Supponiamo di avere una mappa di colori in cui i valori più bassi sono mappati al colore giallo e i valori più alti sono mappati al colore rosso. Invertendo la mappa dei colori, i valori inferiori vengono ora mappati al colore rosso e i valori superiori al colore giallo. Questo tutorial spiega vari modi per invertire le mappe di colori in Python Matplotlib.

Mappe dei colori 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()

Produzione:

Mappe dei colori in Matplotlib Python

Crea un grafico a dispersione i cui valori y sono mappati sulla mappa dei colori viridis. Significa che i punti con valori più bassi di y avranno il colore blu scuro, i punti con valori più alti di y avranno il colore giallo, ei punti intermedi avranno i colori blu e green.

Possiamo anche vedere una barra dei colori sul lato destro della figura, che mostra la mappatura dei colori per i diversi valori di y.

Invertire le mappe dei colori in Matplotlib Python con _r

Possiamo invertire una mappa di colori aggiungendo _r alla fine del nome della mappa di colori in Matplotlib. per esempio. cmap='viridis_r' invertirà semplicemente la mappa dei colori viridis.

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()

Produzione:

Invertire le mappe dei colori in Matplotlib Python aggiungendo _r alla fine

Crea un grafico a dispersione i cui valori y sono mappati sulla mappa dei colori inversa viridis. Quindi, i punti con valori più alti nella figura assumono il colore blu scuro, mentre i punti con valori più bassi ottengono il colore giallo.

Possiamo anche vedere che la barra dei colori a destra ha invertito il colore in questo esempio.

Invertire le mappe dei colori in Matplotlib Python con matplotlib.colors.Colormap.reversed()

Un altro modo per invertire la mappa dei colori in Python è usare il metodo matplotlib.colors.Colormap.reversed() per creare la mappa dei colori invertita.

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()

Produzione:

Inverti le mappe dei colori in Matplotlib Python utilizzando il metodo inverso

Crea anche un grafico a dispersione i cui valori y sono mappati sulla mappa dei colori viridis invertita. Il metodo reversed() inverte l’oggetto della mappa di colori a cui è applicato il metodo.

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()

Produzione:

Invertire le mappe dei colori in Matplotlib Python invertendo l’lista dei colori

Crea anche un grafico a dispersione i cui valori y sono mappati sulla mappa dei colori viridis invertita. Qualsiasi mappa di colori è solo una lista di colori. Possiamo accedere all’lista dei colori di una mappa di colori cmap utilizzando cmap.colors. Quindi invertiamo la lista e infine riconvertiamo la lista invertita in una mappa a colori usando la funzione ListedColormap() dal pacchetto matplotlib.colors.

Autore: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn