Abbiamo una heatmap migliore senza impostare le etichette x e y!
Rendere più belli i plot di uso comune
Molte persone optano per seaborn quando si tratta di plot popolari come bar plot, box plot, count plot, istogrammi, ecc. non solo perché possono essere creati con meno codice ma anche perché sembrano molto più belli. Come possiamo vedere nel nostro esempio sopra, anche i colori sembrano migliori di quelli predefiniti di Matplotlib.
Cons
Seaborn è più limitato e non ha una collezione così ampia come matplotlib
Takeaway: Seaborn è una versione di livello superiore di Matplotlib. Anche se non ha un’ampia collezione come Matplotlib, seaborn rende i grafici popolari come bar plot, box plot, heatmap, ecc. molto belli in meno codice.
Plotly
La libreria di grafici Python di Plotly rende facile creare grafici interattivi di qualità per la pubblicazione. Può anche creare grafici simili a quelli di Matplotlib e seaborn, come grafici a linee, a dispersione, ad area, a barre, ecc.
Pros
Come R
Se sei un fan dei grafici in R e ti mancano le sue caratteristiche quando passi a Python, Plotly ti dà la stessa qualità di grafici usando Python!
Il mio preferito è Plotly Express perché rende davvero facile ed è anche più veloce creare grandi grafici da una singola riga di Python.
Facile creare grafici interattivi
Plotly rende anche facile creare grafici interattivi. I grafici interattivi non sono solo belli, ma rendono anche più facile per gli spettatori dare un’occhiata più da vicino ad ogni punto dei dati.
Ricordate il grafico a barre che abbiamo fatto prima con matplotlib? Vediamo come viene fuori con Plotly
Con circa le stesse righe di codice, produciamo una trama interattiva che potremmo far passare il mouse sopra ogni barra per vedere quale utente e il numero di follower la barra rappresenta. Questo significa che il consumatore della vostra visualizzazione può esplorarla da solo.
3. Trame complesse rese facili
Con Plotly, alcune trame che di solito sono difficili da creare possono essere create facilmente.
Per esempio, se volessimo creare una mappa per visualizzare le posizioni degli utenti di Github, possiamo trovare le loro latitudini e longitudini come mostrato qui, e poi usare questi dati per individuare le posizioni degli utenti sulla mappa in questo modo
Con poche righe di codice, le posizioni di tutti gli utenti sono splendidamente rappresentate su una mappa. Il colore delle bolle rappresenta il numero di biforcazioni e la dimensione rappresenta il numero totale di stelle
Takeaway: Plotly è ottimo per creare grafici interattivi e di qualità per la pubblicazione con poche righe di codice.
Altair
Altair è una libreria dichiarativa di visualizzazione statistica per Python basata su vega-lite, che la rende ideale per grafici che richiedono molte trasformazioni statistiche.
Pros
1. Grammatica di visualizzazione semplice
La grammatica usata per creare la visualizzazione è facile da capire. Ha solo bisogno di menzionare i collegamenti tra le colonne dei dati ai canali di codifica e il resto della visualizzazione è gestito automaticamente. Questo sembra astratto ma è un grande affare quando si lavora con i dati, e rende la visualizzazione delle informazioni davvero veloce e intuitiva.
Per esempio, con i dati titanici sopra, vorremmo contare il numero di persone in ogni classe, tutto ciò di cui abbiamo bisogno è usare count()
nell’asse y
2. Facile trasformare i dati
Altair rende anche molto facile trasformare i dati durante la creazione del grafico
Per esempio, se vogliamo trovare l’età media di ogni sesso nel Titanic, invece di fare la trasformazione in anticipo come Plotly, possiamo eseguire la trasformazione nel codice per creare il grafico.
Potremmo anche assicurarci che la classe sia un dato nominale (dato categorico senza alcun ordine) usando :N
o assicurarci che l’età media sia un dato quantitativo (misure di valori come i numeri) usando :Q
Vedi una lista completa di trasformazioni di dati qui
3. Facile collegare i grafici
Altair ti permette anche di fare alcuni collegamenti impressionanti tra i grafici, come usare una selezione di intervallo per filtrare il contenuto di un istogramma allegato.
Per esempio, se vogliamo visualizzare il numero di persone in ogni classe all’interno dell’intervallo che selezioniamo un grafico a punti tra l’età e la tariffa, potremmo fare qualcosa del genere.
Come trasciniamo il mouse per selezionare l’intervallo nel grafico a dispersione, potremmo vedere il cambiamento nel grafico a barre sottostante. Se combinato con le trasformazioni e i calcoli di prima, questo significa che potete creare alcuni grafici estremamente interattivi che fanno calcoli al volo – senza nemmeno richiedere un server Python in funzione!
Cons
A meno che non specifichiate uno stile personalizzato, i grafici semplici come quello a barre non hanno lo stesso stile di seaborn o Plotly. Altair inoltre non raccomanda set di dati con più di 5000 campioni e raccomanda invece di aggregare i dati prima della visualizzazione.
Takeaway: Altair è ideale per grafici sofisticati per mostrare le statistiche. Altair non può gestire dati al di sopra dei 5000 campioni e alcuni semplici grafici non hanno lo stesso stile di Plotly o Seaborn.
Bokeh
Bokeh è una libreria di visualizzazione interattiva flessibile che si rivolge ai browser web per la rappresentazione.
Pros
Versione interattiva di Matplotlib
Se facciamo una classifica tra le librerie di visualizzazione interattiva di cui sopra, Bokeh sarà probabilmente al primo posto per quanto riguarda la somiglianza con Matplotlib.
Matplotlib può creare qualsiasi trama perché è una libreria di visualizzazione di basso livello. Bokeh può essere utilizzato sia come interfaccia di alto livello che di basso livello; quindi, può creare molte trame sofisticate che Matplotlib crea, ma con meno linee di codice e una risoluzione più alta.
Per esempio, il circle plot di Matplotlib
potrebbe anche essere creato con una migliore risoluzione e più utilità usando Bokeh
2. Collegamento tra trame
Bokeh rende anche molto facile il collegamento tra le trame. Il cambiamento applicato in una trama sarà applicato ad un’altra trama con una variabile simile.
Per esempio, se creiamo 3 grafici affiancati e vogliamo osservare la loro relazione, potremmo usare il linked brushing
ColumnDataSource
permette di condividere i dati tra i grafici. Così, quando applichiamo la modifica a una trama, anche le altre trame vengono modificate di conseguenza.
Cons
Perché Bokeh è una libreria che in qualche modo ha un’interfaccia di medio livello, spesso richiede meno codice di Matplotlib ma richiede più codice per produrre la stessa trama di Seaborn, Altair o Plotly.
Per esempio, per creare lo stesso plot di conteggio usando dati titanici, oltre alla necessità di trasformare i dati in anticipo, dobbiamo anche impostare la larghezza della barra e il colore se vogliamo che il grafico abbia un bell’aspetto
Se non aggiungessimo la larghezza per il grafico a barre, il grafico avrebbe questo aspetto
Quindi, dobbiamo regolare manualmente le dimensioni per rendere la trama più bella
Se vuoi creare una bella trama a barre in meno codice, questo potrebbe essere lo svantaggio di Bokeh rispetto ad altre librerie
Taway: Bokeh è l’unica libreria la cui interfaccia spazia dal basso all’alto, il che rende facile produrre grafici versatili ed eleganti. Questo, tuttavia, ha il costo che generalmente ci vuole più codice per Bokeh per creare i grafici con una qualità simile alle altre librerie.
Folium
Folium rende facile la visualizzazione dei dati su una mappa a foglietti interattiva. La libreria ha un certo numero di tileset incorporati da OpenStreetMap, Mapbox e Stamen
Pros
Facile da creare una mappa con marcatori
Anche se Plotly, Altair, e Bokeh ci permettano di creare mappe, Folium usa una mappa stradale aperta per darvi una sensazione più vicina ad una mappa di Google con un minimo di codice
Ricordate come abbiamo creato la mappa per visualizzare le posizioni degli utenti di Github usando Plotly? Potremmo rendere la mappa ancora più bella con Folium
La posizione iniziale a Brooklyn, NY. Ingrandisci per vedere altre località sulla mappa. Con alcune righe di codice, abbiamo creato una vera e propria mappa che mostra le posizioni degli utenti.
2. Aggiungere una posizione potenziale
Se vogliamo aggiungere posizioni potenziali di altri utenti, Folium lo rende facile da fare permettendo agli utenti di aggiungere marcatori
Cliccare sulla mappa per vedere una nuova posizione generata proprio dove si clicca.
3. Plugin
Folium ha una serie di plugin che puoi usare con la tua mappa – incluso un plugin per Altair. E se volessimo vedere la mappa di calore delle stelle totali degli utenti Github nel mondo per identificare dove c’è un alto numero di utenti Github con un alto numero di stelle totali? La heatmap nei plugin di Folium ti permette di fare proprio questo.
Zoom out per vedere il quadro completo della heatmap.
Takeaway: Folium permette di creare una mappa interattiva con poche righe di codice. Ti dà un’esperienza simile a quella di una Google Map.
Conclusione
Congratulazione! Hai appena imparato a conoscere sei diversi strumenti di visualizzazione per la tua visualizzazione. Spero che questo articolo ti dia un’idea di cosa fa ogni libreria e quando usarla. Afferrare le caratteristiche chiave di ogni libreria vi renderà più veloce estrarre la libreria giusta quando ne avete bisogno.
Se siete ancora confusi su quale libreria usare per i vostri dati, sceglietene solo una che trovate abbastanza buona. Poi se il codice è troppo lungo o il grafico non risulta buono come immaginate, provate con un’altra libreria!
Sentitevi liberi di biforcare e giocare con il codice di questo articolo in questo repo Github.
Mi piace scrivere sui concetti base della scienza dei dati e giocare con diversi algoritmi e strumenti di scienza dei dati. Puoi connetterti con me su LinkedIn e Twitter.
Segna questo repo se vuoi controllare i codici per tutti gli articoli che ho scritto. Seguitemi su Medium per rimanere informati sui miei ultimi articoli di scienza dei dati come questi:
.