Costruisci la tua mappa termica con D3 - Tutorial con esempi

Prova Il Nostro Strumento Per Eliminare I Problemi

Le mappe termiche rappresentano visivamente i dati utilizzando gradienti di colore per indicare concentrazioni e grandezze. Forniscono un modo intuitivo per visualizzare set di dati complessi, individuare rapidamente tendenze e valori anomali. Questa guida esplora la creazione di un interattivo riutilizzabile Componente della mappa termica da zero con D3 . Apprendi le tecniche per caricare i dati, mappare i valori sui colori, aggiungere descrizioni comandi e abilitare comportamenti di panoramica e zoom per creare contenuti personalizzati Mappe termiche D3 .

Panoramica della mappa termica

Le mappe di calore hanno avuto origine nella rappresentazione 2D dei dati tabulati come griglie codificate a colori. L'intensità del colore è correlata alla grandezza di un attributo di dati mappato su una tavolozza che va dalle tonalità chiare a quelle scure.

Ad esempio, le celle rosso scuro potrebbero indicare numeri di entrate elevate, mentre le celle blu chiaro indicano importi minori. Ciò consente di eseguire facilmente la scansione dei modelli tra le variabili.

Mappe di calore interattive

Le mappe termiche interattive basate su librerie JavaScript come D3 si basano sul concetto di base consentendo una visualizzazione ricca e un'esperienza utente con:

  • Progressioni di colore fluide da scale quantitative
  • Messa a fuoco dinamica poiché i valori cambiano nel tempo
  • Descrizioni comandi che rivelano numeri precisi al passaggio del mouse
  • Zoom nelle regioni di interesse
  • Animazioni e transizioni

Queste funzionalità, abbinate alle capacità di D3 per il caricamento di feed di dati esterni, aprono molte possibilità per le applicazioni di mappe di calore basate sul web.

Panoramica D3

D3 sta per Documenti basati sui dati. Fornisce una libreria JavaScript avanzata per la creazione di visualizzazioni interattive basate su browser dai dati. Sfruttando HTML, CSS e SVG, D3 si basa su standard web per consentire rappresentazioni potenti sfruttando tutte le funzionalità dei browser moderni.

Perché utilizzare D3 per le mappe di calore?

I motivi principali per cui D3 eccelle nella creazione di mappe di calore includono:

  • Caricamento e analisi dei dati - Acquisisci facilmente CSV, JSON ecc
  • Selettori potenti - Attraversa e modifica gli elementi DOM
  • Scale e mappatura dei colori - Mappa i numeri in colori in modo intuitivo
  • Transizioni e aggiornamenti - Animare le modifiche senza problemi
  • Coordinate e geomappatura - Traduci i dati in posizioni sullo schermo

Insieme, queste funzionalità semplificano la creazione di mappe termiche coinvolgenti con D3.

Caricamento dati

Un passaggio fondamentale durante la visualizzazione dei dati con D3 è l'acquisizione dei set di dati di origine. D3 supporta il caricamento di formati comuni come CSV, TSV, JSON ecc. da file o endpoint API.

Set di dati di esempio

Per dimostrare una mappa termica, i dati di vendita generati casualmente nell'arco di 5 anni e 12 mesi forniscono un set di dati interessante da visualizzare.

|_+_|

Con dati casuali che coprono un periodo di 5 anni in 12 mesi, potrebbe essere interessante esplorare visivamente modelli e valori anomali.

Caricamento con D3

D3 fornisce |_+_| funzione per recuperare e analizzare i dati CSV, passando il risultato a una funzione di callback. I dati caricati diventano accessibili all'interno della funzione tramite |_+_| metodo che rileva automaticamente i tipi di valore.

|_+_|

Questo gestisce tutto il lavoro di richiesta dei dati, analisi degli stessi, rilevamento del tipo e gestione degli errori automatizzando gran parte del codice standard.

Imposta SVG e scale

Con i dati caricati, è necessario definire un'area del canvas per contenere la mappa termica utilizzando SVG e funzioni di ridimensionamento mappate per eseguire il rendering dei valori.

Dimensionamento SVG

SVG fornisce la base grafica vettoriale per visualizzazioni utilizzando la sintassi basata su XML. D3 seleziona e crea elementi SVG sullo schermo in modo programmatico in base ai dati.

Una tela SVG viene dimensionata e posizionata in base ai margini e ai parametri dell'area di disegno:

|_+_|

Ciò stabilisce una superficie SVG 600x400px con margini di 50px su ciascun lato per assi, etichette ecc., rendendo la visualizzazione dei dati stessa all'interno dell'area di disegno centrata di 400x300px.

Bilancia

Le successive funzioni lineari e di scala di colore mappano i valori dei dati sulle coordinate dello schermo.

Una scala lineare y posizioni per mese da 0 a 11 per altezza:

|_+_|

Una scala di colori codifica i valori di vendita interpolati ai colori:

|_+_|

Queste scale riutilizzabili ora si traducono tra dati grezzi e posizioni dei pixel.

Dati di disegno

Una volta completata la preelaborazione, il cuore della visualizzazione dei dati consiste nell'associare i valori dei dati a elementi grafici come i rettangoli.

Dati vincolanti

L'associazione dati associa elementi di dati ai componenti DOM:

|_+_|

Ora ogni riga CSV si lega a un SVG |_+_| elemento pronto per la traduzione in posizioni sullo schermo.

Scale di mappatura

I successivi valori dei dati vengono mappati su scale utilizzando il modello enter-update-exit di D3 per eseguire il rendering dei collegamenti:

|_+_|

Questo traduce ogni colonna di dati per indice orizzontalmente mentre posiziona i mesi verticalmente. Le altezze del rettangolo si riempiono dalla posizione y verso il basso in modo proporzionale ai valori di vendita rispetto alla scala dei colori.

Perfezionamenti

Con le associazioni dei dati principali in atto, esistono molte opzioni per perfezionare la mappa termica come etichette, descrizioni comandi, interattività e zoom per evidenziare le tecniche per abbellire le visualizzazioni D3.

Assi

Gli assi forniscono etichette orientate per contestualizzare i dati:

|_+_|

Un asse x allineato in basso mappa le colonne degli anni mentre formatta i segni di spunta per mostrare anni leggibili dall'uomo che iniziano da 1 anziché dall'indice 0 di JavaScript.

Suggerimenti

Le descrizioni comandi mostrano i valori dei dati al passaggio del mouse:

|_+_|

Ciò rivela numeri di vendita precisi quando si passa il mouse sulle celle.

Panoramica e zoom

La panoramica trascina la finestra mentre lo zoom mette a fuoco:

|_+_|

Ora il trascinamento del mouse con il tasto centrale eseguirà la panoramica del grafico e lo scorrimento regolerà il livello di zoom esplorando dinamicamente gli hotspot dei dati.

Esportazione e distribuzione

Come componente D3 riutilizzabile, racchiudi il codice di visualizzazione in una funzione che accetta parametri di elementi e dati:

|_+_|

Questo si adatta in modo affidabile alle basi di codice con molte visualizzazioni.

Conclusione

La creazione di mappe termiche personalizzate aiuta a visualizzare tendenze complesse su set di dati sfaccettati supportando decisioni più intelligenti. Con i metodi flessibili di caricamento, associazione, ridimensionamento e mappatura dei dati di D3, le mappe di calore interattive riutilizzabili si compongono facilmente per arricchire dashboard e applicazioni.

Per un'analisi grafica ancora più ricca, prova ad aggiungere dendrogrammi, diagrammi Sankey, diagrammi accordo e altre tecniche D3 avanzate al tuo toolkit di visualizzazione dei dati.

Guarda Anche: