C'è anche un'opzione per salvare offline un disegno grafico in modo che possa essere esportato facilmente. Ci sono molte altre caratteristiche che rendono l'utilizzo della libreria molto semplice:
- Salva i grafici per l'utilizzo offline come grafica vettoriale altamente ottimizzata per scopi di stampa e pubblicazione
- I grafici esportati sono in formato JSON e non in formato immagine. Questo JSON può essere caricato facilmente in altri strumenti di visualizzazione come Tableau o manipolato con Python o R
- Poiché i grafici esportati sono di natura JSON, è praticamente molto facile incorporare questi grafici in un'applicazione web
- Plotly è una buona alternativa a Matplotlib per la visualizzazione
Per iniziare a utilizzare il pacchetto Plotly, dobbiamo registrarci per un account sul sito Web menzionato in precedenza per ottenere un nome utente e una chiave API validi con cui possiamo iniziare a utilizzare le sue funzionalità. Fortunatamente, per Plotly è disponibile un piano tariffario gratuito con cui otteniamo abbastanza funzionalità per creare grafici di livello produttivo production.
Installazione di Plotly
Solo una nota prima di iniziare, puoi utilizzare un ambiente virtuale per questa lezione che possiamo creare con il seguente comando:
python -m virtualenv plotlysorgente numpy/bin/activate
Una volta che l'ambiente virtuale è attivo, puoi installare la libreria Plotly all'interno dell'ambiente virtuale in modo che gli esempi che creeremo in seguito possano essere eseguiti:
pip install plotlyIn questa lezione faremo uso di Anaconda e Jupyter. Se vuoi installarlo sul tuo computer, guarda la lezione che descrive “Come installare Anaconda Python su Ubuntu 18.04 LTS" e condividi il tuo feedback in caso di problemi. Per installare Plotly con Anaconda, usa il seguente comando nel terminale di Anaconda:
conda install -c plotly plotlyVediamo qualcosa di simile quando eseguiamo il comando precedente:
Una volta installati e completati tutti i pacchetti necessari, possiamo iniziare a utilizzare la libreria Plotly con la seguente istruzione di importazione:
importa trama plotUna volta creato un account su Plotly, avrai bisogno di due cose: il nome utente dell'account e una chiave API. Può esserci solo una chiave API appartenente a ciascun account. Quindi tienilo al sicuro come se lo perdessi, dovrai rigenerare la chiave e tutte le vecchie applicazioni che usano la vecchia chiave smetteranno di funzionare.
In tutti i programmi Python che scrivi, menziona le credenziali come segue per iniziare a lavorare con Plotly:
tramare.utensili.set_credentials_file(username = 'username', api_key = 'your-api-key')Iniziamo subito con questa libreria.
Iniziare con Plotly
Utilizzeremo le seguenti importazioni nel nostro programma:
importa panda come pdimporta numpy come np
importa scipy come sp
importa trama plot.trama come py
Utilizziamo:
- Panda per leggere i file CSV in modo efficace
- NumPy per semplici operazioni tabulari
- Scipy per calcoli scientifici
- Trama per la visualizzazione
Per alcuni degli esempi, utilizzeremo i dataset di Plotly disponibili su Github. Infine, tieni presente che puoi abilitare la modalità offline anche per Plotly quando devi eseguire script Plotly senza una connessione di rete:
importa panda come pdimporta numpy come np
importa scipy come sp
importa trama plot
trama.disconnesso.init_notebook_mode(connected=True)
importa trama plot.offline come py
È possibile eseguire la seguente istruzione per testare l'installazione di Plotly:
stampa (trama.__versione__)Vediamo qualcosa di simile quando eseguiamo il comando precedente:
Alla fine scaricheremo il set di dati con Pandas e lo visualizzeremo come una tabella:
importa trama plot.figure_factory come ffdf = pd.read_csv("https://raw.githubusercontent.com/plotly/datasets/master/school_
guadagni.csv")
tabella = ff.create_table(df)
pi.iplot(tabella, nomefile='tabella')
Vediamo qualcosa di simile quando eseguiamo il comando precedente:
Ora, costruiamo a Istogramma per visualizzare i dati:
importa trama plot.graph_objs come andaredati = [vai.Bar(x=df.Scuola, y=df.Donne)]
pi.iplot(data, filename='women-bar')
Vediamo qualcosa di simile quando eseguiamo il frammento di codice sopra:
Quando vedi il grafico sopra con il taccuino Jupyter, ti verranno presentate varie opzioni di Zoom in/out su una particolare sezione del grafico, selezione Box & Lasso e molto altro.
Grafici a barre raggruppati
Più grafici a barre possono essere raggruppati insieme per scopi di confronto molto facilmente con Plotly. Usiamo lo stesso set di dati per questo e mostriamo la variazione della presenza di uomini e donne nelle università:
donne = vai.Bar(x=df.Scuola, y=df.Donne)uomini = vai.Bar(x=df.Scuola, y=df.Uomini)
dati = [uomini, donne]
layout = vai.Layout(barmode = "gruppo")
fico = vai.Figura (dati = dati, layout = layout)
pi.trama (figura)
Vediamo qualcosa di simile quando eseguiamo il frammento di codice sopra:
Anche se questo sembra buono, le etichette nell'angolo in alto a destra non lo sono, corrette! Correggiamoli:
donne = vai.Bar(x=df.Scuola, y=df.Donne, nome = "Donne")uomini = vai.Bar(x=df.Scuola, y=df.Uomini, nome = "Uomini")
Il grafico ora sembra molto più descrittivo:
Proviamo a cambiare la modalità bar:
layout = vai.Layout(barmode = "relativo")fico = vai.Figura (dati = dati, layout = layout)
pi.trama (fig)
Vediamo qualcosa di simile quando eseguiamo il frammento di codice sopra:
Grafici a torta con Plotly
Ora proveremo a costruire un grafico a torta con Plotly che stabilisca una differenza fondamentale tra la percentuale di donne in tutte le università. I nomi delle università saranno le etichette e i numeri effettivi verranno utilizzati per calcolare la percentuale del totale. Ecco lo snippet di codice per lo stesso:
traccia = vai.Torta(etichette = df.Scuola, valori = df.Donne)pi.iplot([traccia], nomefile='torta')
Vediamo qualcosa di simile quando eseguiamo il frammento di codice sopra:
La cosa buona è che Plotly è dotato di molte funzionalità di zoom avanti e indietro e molti altri strumenti per interagire con il grafico costruito.
Visualizzazione dei dati di serie temporali con Plotly
La visualizzazione dei dati delle serie temporali è una delle attività più importanti che si incontrano quando sei un analista di dati o un ingegnere dei dati.
In questo esempio, utilizzeremo un set di dati separato nello stesso repository GitHub poiché i dati precedenti non includevano dati con data e ora specificatamente. Come qui, tracceremo la variazione delle azioni di mercato di Apple nel tempo:
finanziario = pd.read_csv("https://raw.githubusercontent.com/plotly/datasets/master/finanza-grafici-apple.csv")
dati = [vai.Scatter(x=finanziario.Data, y=finanziario['AAPL.Vicino'])]
pi.grafico (dati)
Vediamo qualcosa di simile quando eseguiamo il frammento di codice sopra:
Una volta passato il mouse sulla linea di variazione del grafico, puoi specificare i dettagli del punto:
Possiamo usare i pulsanti di zoom avanti e indietro per vedere anche i dati specifici di ogni settimana.
Grafico OHLC
Un grafico OHLC (Open High Low close) viene utilizzato per mostrare la variazione di un'entità in un intervallo di tempo. Questo è facile da costruire con PyPlot:
da datetime import datetimeopen_data = [33.0, 35.3, 33.5, 33.0, 34.1]
high_data = [33.1, 36.3, 33.6, 33.2, 34.8]
low_data = [32.7, 32.7, 32.8, 32.6, 32.8]
close_data = [33.0, 32.9, 33.3, 33.1, 33.1]
date = [datetime(anno=2013, mese=10, giorno=10),
datetime(anno=2013, mese=11, giorno=10),
datetime(anno=2013, mese=12, giorno=10),
datetime(anno=2014, mese=1, giorno=10),
datetime(anno=2014, mese=2, giorno=10)]
traccia = vai.Ohlc(x=date,
open=open_data,
high=high_data,
low=low_data,
chiudi=chiudi_dati)
dati = [traccia]
pi.grafico (dati)
Qui, abbiamo fornito alcuni punti dati di esempio che possono essere dedotti come segue:
- I dati aperti descrivono il tasso di borsa all'apertura del mercato
- I dati elevati descrivono il tasso di giacenza più elevato raggiunto in un determinato periodo di tempo
- I dati bassi descrivono il tasso di giacenza più basso raggiunto in un determinato periodo di tempo
- I dati di chiusura descrivono il tasso di chiusura delle azioni al termine di un determinato intervallo di tempo
Ora eseguiamo lo snippet di codice che abbiamo fornito sopra. Vediamo qualcosa di simile quando eseguiamo il frammento di codice sopra:
Questo è un eccellente confronto su come stabilire confronti temporali di un'entità con la propria e confrontarla con i suoi risultati alti e bassi.
Conclusione
In questa lezione, abbiamo esaminato un'altra libreria di visualizzazione, Plotly che è un'eccellente alternativa a Matplotlib nelle applicazioni di livello di produzione che sono esposte come applicazioni web, Plotly è una libreria molto dinamica e ricca di funzionalità da utilizzare per scopi di produzione, quindi questo è sicuramente un'abilità che dobbiamo avere sotto la cintura.
Trova tutto il codice sorgente utilizzato in questa lezione su Github. Per favore condividi il tuo feedback sulla lezione su Twitter con @sbmaggarwal e @LinuxHint.