cobweb, nature, habitat-4445324.jpg

Radar Chart (or Spider Chart) in Tableau

In questo tutorial vedremo come costruire un Radar Chart con Tableau!

Cos’è?

Un Radar Chart, o Spider Chart per la palese somiglianza con una ragnatela, è un grafico utilizzato per comparare i dati lungo dimensioni multiple in modo efficace e compatto (per saperne di più).

“Consiste di una sequenza di raggi che hanno origine da un centro e formano angoli uguali tra loro; ogni raggio rappresenta una delle variabili. La distanza dal centro del punto marcato sul raggio è proporzionale al valore della variabile rispetto al valore massimo raggiungibile. I punti sui raggi vengono congiunti con segmenti, così che il grafico ha la forma di una stella o di una ragnatela.” [Wikipedia]

Di cosa abbiamo bisogno:

  • Tableau
  • Un dataset
  • Conoscenze basilari di trigonometria
  • Un po’ di pazienza

Preparazione dei dati

Per costruire un Radar Chart in maniera semplice i dati devono essere preparati a dovere.

In primo luogo si suggerisce di andare a normalizzare i dati delle Dimensioni sulla stessa scala utilizzati in modo da ottenere un risultato ottimale. Per esempio il dataset che verrà utilizzato contiene solo valori tra 0 e 1.

I dati si presentano in questo modo: 

Ad ogni “Nome” viene assegnata una colonna per ogni Dimensione.

Per il nostro grafico devono essere “ruotati”. Creiamo quindi una tabella Pivot: selezioniamo le colonne “Dimensione 1”, “Dimensione 2”, etc., clicchiamo sulla freccia in alto a destra, e su Pivot:

Si crea quindi una nuova riga per ogni singola “Dimensione” e per ogni “Nome” nel dataset.

Bisogna fare attenzione alla dimensione del dataset di origine! Si moltiplicano infatti le righe già esistenti per il numero di dimensioni desiderate nel grafico finale. Con dataset molto grandi questo può portare a problemi prestazionali.

Adesso possiamo iniziare!

Campi Calcolati

Angle

Apriamo un nuovo Worksheet e nominiamolo “Radar“.

È il momento di fare ricorso alla trigonometria visto che purtroppo Tableau non ragiona in coordinate circolari.

L’obiettivo è di dividere i 360°, o 2π se ragioniamo in radianti, del cerchio per il numero di dimensioni desiderate, nel nostro caso 5. Assegneremo poi un angolo differente ad ogni dimensione dividendo così equamente tutto lo spazio disponibile.

Calcoliamo dunque l’angolo:

Analizziamo la formula:

  • 2*PI, è il totale della circonferenza
  • MIN({COUNTD([Pivot Field Names])}), il numero di dimensioni che vogliamo nel nostro radar chart.

Tableau fa un conteggio distinto con COUNTD. Aggiungiamo poi il MIN all’inizio della formula in modo da avere un valore aggregate (un modo quindi per bypassare l’errore).

Il rapporto tra i due ci da l’ampiezza dell’angolo che separa le dimensioni, nel nostro caso è di 1,257 rad. Per assegnare ad ogni dimensione un angolo, come nell’immagine qui sotto, dobbiamo allora sommare ogni volta 1,275 al nostro angolo. Per farlo si utilizza la funzione RUNNING_SUM.

Nella tabella è riportato un confronto tra: 

  • 2*PI() / MIN({COUNTD([Pivot Field Names])}) 
  • RUNNING_SUM(2*PI() / MIN({COUNTD([Pivot Field Names])})

Possiamo vedere come Angle sia semplicemente la somma di 1,275 compiuta n-volte.

L’ultimo pezzo del calcolo è:

  • + PI()/2, π/2 oppure 90°, serve solamente a decidere da dove partire con il calcolo

Generalmente si inizia a misurare l’angolo dall’asse delle X, e da lì si inizia a sommare Angle. La prima Dimensione che apparirà quindi a 1,275 rad dall’asse positivo delle X. Sommando 90° chiediamo di iniziare invece la somma a partire dall’asse positivo delle Y.

(Sommando 180° o 270°, rispettivamente π o 3π / 2, chiediamo di partire dall’asse negativo delle X o sull’asse negativo delle Y rispettivamente)

Distance from the Center

Il secondo calcolo necessario è molto semplice: ci indica la distanza dal centro dei valori delle Dimensioni:

Abbiamo quindi ottenuto un angolo ed un raggio per ognuna delle “Dimensioni” desiderate. Ci rimane solo da trasformare queste coordinate circolari in coordinate cartesiane, comprensibili quindi da Tableau.

Creiamo due campi calcolati, X e Y, ed utilizziamo le formule della trigonometria: 

Creazione del Radar Chart

Possiamo finalmente iniziare a costruire il nostro grafico, portiamo:

  • X sulle Colonne
  • Y sulle Righe
  • Angle in Detail
  • Pivot Field Names in Detail

Facciamo tasto destro su Angle, Compute Using, ed infine Pivot Field Names:

Lo stesso per X e Y: tasto destro, poi Compute Using e Pivot Field Names:

Il risultato sarà il seguente:

Passiamo da Shape a Polygon nel menù a tendina:

Per ottenere:

Portando Angle in Path finalmente si inizia a vedere la luce in fondo al tunnel:

Coloriamo per Nome:

Ed ora, impostando il bordo e giocando con l’opacità si ottiene il risultato finale:

Ed il nostro radar è completo!

Quasi.

Mancherebbe una griglia sul fondo per poter riconoscere le “Dimensioni” e poter leggere agevolmente i dati.

Purtroppo al momento non esiste un modo semplice ed efficace per farlo, ma abbiamo alcune possibili soluzioni: 

  • Lasciare il grafico così com’è aggiungendo (tramite Dual Axis) delle Label ai vertici, il risultato sarà però molto confuso soprattutto nel caso in cui si voglia fare un confronto multiplo.
  • Scaricare o creare una griglia utilizzando un programma esterno a Tableau, importando poi l’immagine come background per il grafico
  • Creare un radar con lo stesso numero di dimensioni e valore sempre uguale a 1, da utilizzare come background

Vediamo l’ultima opzione assieme.

Griglia (Bonus)

Apriamo un foglio nuovo, rinominiamolo “Grid“.

Creiamo due nuove variabili X Background, Y Background:

Come in precedenza portiamo:

  • X Background sulle Colonne
  • Y Background sulle Righe
  • Angle in Detail
  • Pivot Field Names in Detail

Facciamo gli stessi passaggi quindi: su Angle, X Background e Y Background facciamo tasto destro, Compute Using e Pivot Field Names.

Otterremo un risultato come il seguente:

Trasformiamo in Polygon e portiamo Angle in Path:

Duplichiamo Y Background (basta tenere premuto ctrl e trascinare Y Background):

Trasformiamo la seconda in Shape:

E aggiungiamo Pivot Field Name in Label. Facendo poi il Dual Axis e sincronizzando gli assi si ottiene un risultato simile a questo, dove ho modificato la trasparenza ed il colore:

Creiamo una dashboard e inseriamo i due fogli, Graph e Grid. Selezioniamo Graph e dal menù clicchiamo su Floating. Possiamo infine sovrapporre i due grafici e l’effetto finale sarà il seguente:

Un netto passo in avanti per quanto riguarda la leggibilità.

Il nostro Radar Chart, o Spider Chart se si preferisce, è completo! Il procedimento è tranquillamente applicabile ai dataset più vari, facendo però attenzione soprattutto nella fase iniziale di preparazione!

articoli correlati

Come costruire una Waffle Chart in Tableau

La waffle chart è un’ottima soluzione per rappresentare percentuali di un totale.  In questo articolo vengono presentati gli step per creare una “Waffle Chart” partendo

Lollipop Chart e varianti in Tableau

Una delle sfide principali da affrontare quando ci si approccia al mondo dell’analisi dati è la necessità di veicolare in maniera rapida ed efficace le

Tableau integrato da Mapbox

Tableau integrato da Mapbox La mappa è una delle visualizzazioni più utilizzate in Tableau per dare un contesto significativo ai dati. Questo ha lo  scopo