Team I.A. Italia

3 min

Creare Grafici Interattivi e Dinamici con Python. Esempio pratico Data Visualization per DataScience

Raccontare una storia con i dati è una funzione fondamentale per qualsiasi Data Scientist e creare visualizzazioni di dati che siano allo stesso tempo illuminanti e accattivanti può essere difficile.

Creare Grafici Interattivi e Dinamici con Python usando Plotly - Esempio pratico Data Visualization

Questo tutorial esamina come creare grafici Plotly e Bokeh direttamente tramite la sintassi di plottaggio Pandas, che ti aiuterà a convertire le visualizzazioni statiche in controparti interattive e portare la tua analisi al livello successivo.

L'esplorazione dei dati è di gran lunga uno degli aspetti più importanti di qualsiasi attività di analisi dei dati. Il sondaggio iniziale e i controlli preliminari che eseguiamo, utilizzando il vasto catalogo di strumenti di visualizzazione, ci forniscono informazioni utili sulla natura dei dati. Tuttavia, la scelta dello strumento di visualizzazione a volte è più complicata del compito stesso. Da un lato, abbiamo librerie che sono più facili da usare ma non sono così utili per mostrare relazioni complesse nei dati. Poi ce ne sono altri che rendono interattività ma hanno una notevole curva di apprendimento. Fortunatamente, sono state create alcune librerie open source che cercano di affrontare questo punto dolente in modo efficace.

In questo articolo, esamineremo due di queste librerie, ovvero pandas_bokeh e cufflinks.

Impareremo come creare grafici di trama e bokeh con la sintassi di base per la trama dei panda, con cui tutti ci sentiamo a nostro agio. Poiché l'enfasi dell'articolo è sulla sintassi piuttosto che sui tipi di grafici, ci limiteremo ai cinque grafici di base, ovvero grafici a linee, grafici a barre, istogrammi, grafici a dispersione e grafici a torta.

Creeremo ciascuno di questi grafici prima con la libreria di grafica panda e poi li ricreeremo in bokeh.

Lavoreremo con il set di dati NIFTY-50 . L'indice NIFTY 50 è il punto di riferimento della Borsa nazionale indiana per il mercato azionario indiano. Il set di dati è apertamente disponibile su Kaggle , ma utilizzeremo un sottoinsieme dei dati contenente il valore delle azioni di soli quattro settori, ovvero banca, farmaceutica, IT e FMCG.

Importiamo le librerie e il set di dati necessari allo scopo di visualizzazione:

# Importiamo le lebrerie
 
import pandas as pd
 
import numpy as np
 
import pandas_bokeh
 
import matplotlib.pyplot as plt
 
%matplotlib inline

Ora andiamo a caricare il nostro set di dati e lo prepariamo per creare prima i nostri grafici statitici e solo dopo li andremo a rendere dinamici e interattivi .

# Carichiamo e leggiamo i dati
 
nifty_data = pd.read_csv('/content/drive/MyDrive/NIFTY_data_2020.csv',parse_dates=["Date"],index_col='Date')
 
nifty_data.head()
 

 
nifty_data_resample = nifty_data.resample(rule = 'M').mean()
 
nifty_data_resample
 

Ora creiamo i soliti grafici con MatPlotLib.

nifty_data.plot(title='Nifty Index values in 2020', xlabel = 'Values', figsize=(10,6) );
 

 
nifty_data.plot(kind='scatter',
 
x='NIFTY FMCG index',
 
y='NIFTY Bank index',
 
title = 'Scatter Plot for NIFTY Index values in 2020',
 
figsize=(10,6));
 

 
nifty_data[['NIFTY FMCG index','NIFTY Bank index']].plot(kind='hist',figsize=(9,6), bins=30);
 

 
nifty_data_resample.plot(kind='bar',figsize=(10,6));
 

 
nifty_data_resample.index=['Jan','Feb','March','Apr','May','June','July']
 
nifty_data_resample['NIFTY Bank index'].plot.pie(legend=False, figsize=(10,6),autopct='%.1f');
 

 

Il risultato sarà questo

Ma ora inizia il divertimento, rendiamo dinamici questi grafici con pandas_bokeh

Per prima cosa installiamo la libreria

!pip install pandas-bokeh #googlecolab
 
pip install pandas-bokeh #python2
 
pip3 install pandas-bokeh #python3

Importiamo la libreria e ricarichiamo i dati

# Importiamo le lebrerie
 
import pandas as pd
 
import numpy as np
 
import pandas_bokeh
 
import matplotlib.pyplot as plt
 
%matplotlib inline
 
# Carichiamo e leggiamo i dati
 
nifty_data = pd.read_csv('/content/drive/MyDrive/NIFTY_data_2020.csv',parse_dates=["Date"],index_col='Date')
 

 
nifty_data_resample = nifty_data.resample(rule = 'M').mean()
 

Ora creiamo i grafici dinamici e interattivi :

nifty_data.plot_bokeh(kind='line') #nifty_data.plot_bokeh.line()
 

 
nifty_data.plot_bokeh.scatter(x='NIFTY FMCG index', y='NIFTY Bank index');
 

 
nifty_data[['NIFTY FMCG index','NIFTY Bank index']].plot_bokeh(kind='hist', bins=30);
 

 
nifty_data_resample.plot_bokeh(kind='bar');
 

 
nifty_data_resample.plot_bokeh(kind='barh',stacked=True);
 

 
nifty_data_resample.index=['Jan','Feb','March','Apr','May','June','July']
 
nifty_data_resample.plot_bokeh.pie(y ='NIFTY Bank index')
 

 
nifty_data_resample.plot_bokeh.pie()

Il risultato finale sarà questo qui sotto. Per poter visualizzare e interagire con i grafici, clicca su Open in Colab !

Grazie mille per la lettura