Come generare colori casuali nei grafici matplotlib


È possibile utilizzare la seguente sintassi di base per generare colori casuali nei grafici Matplotlib:

1. Genera un colore casuale per il grafico delle linee

 col = ( np.random.random (), np.random.random (), np.random.random ( ) )

plt. plot (x, y, c=col)

2. Genera colori casuali per la nuvola di punti

 plt. scatter (x, y, c=np. random . rand (len(x), 3 ))

Gli esempi seguenti mostrano come utilizzare questa sintassi nella pratica.

Esempio 1: genera un colore casuale per il tracciato della linea

Il codice seguente mostra come generare un colore casuale per una singola riga in un grafico lineare:

 import matplotlib. pyplot as plt
import numpy as np

#define data
x = [1, 2, 3, 4, 5]
y = [7, 12, 15, 19, 25]

#define random color
col = ( np.random.random (), np.random.random (), np.random.random ( ) )

#create line plot with random color
plt. plot (x, y, c=col) 

Se eseguiamo nuovamente lo stesso pezzo di codice, verrà creato un percorso di linea con un colore casuale diverso:

Esempio 2: generazione di colori casuali per una nuvola di punti

Il codice seguente mostra come creare un grafico a dispersione con colori casuali per ogni punto del grafico:

 import matplotlib. pyplot as plt
import numpy as np

#define data
x = [1, 2, 3, 4, 5]
y = [7, 12, 15, 19, 25]

#create scatterplot with random colors for each point
plt. scatter (x, y, c=np. random . rand (len(x),3))

Se eseguiamo nuovamente lo stesso pezzo di codice, verrà creato un grafico a dispersione con nuovi colori casuali per ogni punto:

Nota: sotto il cofano, questo codice utilizza semplicemente NumPy per generare colori casuali (R, G, B).

Fare riferimento alla documentazione in linea per una spiegazione completa della funzione NumPy random() .

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre funzioni di stampa comuni in Matplotlib:

Come cambiare il colore di sfondo in Matplotlib
Come colorare un grafico a dispersione in base al valore in Matplotlib

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *