Come creare un grafico a linea di calore
Come realizzare un grafico a linea di calore
Creazione di un grafico a linee segmentato multidimensionale
Probabilmente hai sentito parlare di una mappa di calore. Quei griglie colorate bidimensionali che possono essere utilizzate per rappresentare diverse (di solito 3) dimensioni dei dati; ad esempio, la mappa di calore qui sotto mostra la temperatura media nelle Southern Rockies in base al mese e all’anno.
Ho pensato alle mappe di calore quando ho avuto la necessità di visualizzare alcuni dati di Strava. Volevo confrontare alcune recenti maratone che ho fatto guardando il mio ritmo e la frequenza cardiaca (zone) lungo i 42,2 km di ciascuna gara. Questo mi ha suggerito di utilizzare un grafico a linee, utilizzando ogni intervallo di 1 km come valore di x e il mio ritmo durante questi intervalli come valore di y. Ma cosa dire della frequenza cardiaca (come misura dello sforzo) durante questi intervalli? Il grafico a linee standard di Matplotlib (la mia libreria di grafici preferita) non fornisce un modo diretto per codificare dimensioni aggiuntive come queste, perché le proprietà come il colore, lo spessore e lo stile della linea sono fissate e applicate all’intero grafico. Nel mio caso, volevo poter variare le proprietà dei singoli segmenti di linea in modo da poter, ad esempio, utilizzare il colore per mostrare le zone della mia frequenza cardiaca durante diverse parti della gara.
Questo è abbastanza semplice da fare ed è un esempio utile di quando e perché guardare oltre le funzionalità predefinite di Matplotlib. L’idea di base è di tracciare separatamente ciascuno dei segmenti di linea che compongono il grafico a linee. In questo modo possiamo controllare individualmente le proprietà visive di ciascun segmento in modo da poter utilizzare, ad esempio, il colore del segmento di linea per rappresentare qualcosa come la frequenza cardiaca in questo caso.
Possiamo fare ciò utilizzando la classe LineCollection
di Matplotlib, come un modo conveniente per tracciare più linee (o segmenti di linea) con colori e larghezze separate. Per fare ciò, dobbiamo convertire la nostra lista di punti (x, y) in una lista di coordinate di inizio e fine per ciascuno dei segmenti di linea. Ad esempio, dati i seguenti punti (x, y)…
- Crea una Rete Neurale Convoluzionale da zero utilizzando Numpy
- L’istanza DL2q di Amazon EC2 per l’inferenza di IA ad alte prestazioni ed a basso costo è ora disponibile in generale.
- Definire l’Intelligenza Artificiale Generale
(x0, y0), (x1, y1), …, (xn, yn)
…dobbiamo produrre una lista di segmenti di linea come segue:
[ [(x0, y0), (x1, y1)], [(x1, y1), (x2, y2)], …, [(xn-1, yn-1), (xn, yn)] ]
Questo è lo scopo delle righe 12-16 nel codice qui sotto; anche se quanto sopra è una rappresentazione semplificata per scopi di spiegazione.