Mostra la barra dei colori in Matplotlib

In questo tutorial, discuteremo come mostrare una barra dei colori in una figura matplotlib in Python.
Per creare una barra dei colori dobbiamo usare la funzione matplotlib.pyplot.colorbar()
.
Il codice seguente mostra un semplice esempio di ciò.
import random
import matplotlib.pyplot as plt
s_x = random.sample(range(0, 100), 20)
s_y = random.sample(range(0, 100), 20)
s = plt.scatter(s_x, s_y, c=s_x, cmap="viridis")
c = plt.colorbar()
Nell’esempio sopra, abbiamo creato una semplice barra dei colori posizionata all’esterno del grafico. Abbiamo specificato la mappa dei colori utilizzando il parametro cmap
.
Possiamo anche specificare gli assi in cui vogliamo mostrare la barra dei colori. Se lo desideriamo, possiamo aggiungerlo sugli assi della trama.
Per esempio,
import random
import matplotlib.pyplot as plt
s_x = random.sample(range(0, 100), 20)
s_y = random.sample(range(0, 100), 20)
fig, ax = plt.subplots()
cax = fig.add_axes([0.27, 0.8, 0.5, 0.05])
im = ax.scatter(s_x, s_y, c=s_x, cmap="viridis")
fig.colorbar(im, cax=cax, orientation="horizontal")
Nell’esempio sopra, abbiamo usato la funzione subplots()
per ottenere gli oggetti figura e assi e usarla per creare gli assi per la barra dei colori. Lo abbiamo specificato utilizzando il parametro cax
nella funzione colorbar()
.
Da notare anche l’uso del parametro orientation
che ha alterato l’orientamento della barra colore finale. Oltre a questo, possiamo usare diversi parametri per controllare la forma e le dimensioni della barra dei colori. Ad esempio, shrink
può ridurre le dimensioni della barra dei colori di un piccolo margine, aspect
, che è il rapporto tra i lati della barra, e ce ne sono molti altri.
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedIn