Dopo aver visto Python - Matplotlib: esempi grafici 3D, vediamo un altro caso interessante ovvero "colormaps" e "heatmaps". È possibile fare anche uso dell'apposita libreria Searborn ("statistical data visualization") che è comunque tratta da Matplotlib. Noi in questo esempio usiamo solo Matplotlib.
Le mappe di calore o Heatmaps possono essere molto utili per avere una rappresentazione visuale dei dati, ad esempio su una superficie, ogni cella ha un colore dal blu al rosso per rappresentare la temperatura, oppure tramite scala di grigi (dal nero al bianco) si può rappresentare la quota o qualsiasi altra variabile si voglia rappresentare!
Dal sito ufficiale matplotlib.org compare una bella lista di interessanti personalizzazioni grafiche che si possono fare, semplicemente inserendo il corrispettivo nome testuale in questa stringa: color='autumn'
, ovviamente al posto di 'autumn' mettiamo il modello di colori desiderato.
Riporto un esempio semplice, una griglia 20x20 con andamento random, modello scelto 'autumn', quindi colori che vanno dal giallo-arancio-rosso. Questo è il codice:
import numpy as np
from matplotlib import pyplot as plt
N=20
color='autumn'
data=np.random.random((N,N))
plt.imshow(data,color)
plt.title("2-D Heat Map")
plt.show()
Ovviamente al posto di un semplice andamento random possiamo avere una funzione oppure dei dati acquisiti in input (e quindi in questo caso, ad esempio andando dal giallo al rosso, sotto una certa soglia di valori stampa colore giallo, livello intermedio stampa colore arancio, livello più alto stampa colore rosso... Viene seguita questa logica, livelli fissi o semplice proporzione).
Ecco infine un'immagine di come si presenta il grafico con il codice scritto sopra (a sinistra), mentre a destra una losta dei vari template che si possono utilizzare, coi rispettivi nomi. La lista qui presente non è esaustiva (non ci stava 😄), gli altri si trovano su matplotlib.org.