Utilizând Plotly în Python

Vizualizarea datelor este o modalitate de a înțelege bucăți mari de date. Anumite tendințe și modele ar putea să nu fie observabile în format text, astfel încât vizualizarea datelor să facă mai ușor să înțeleagă ceea ce încearcă să spună datele, vizualizând-o folosind diferite diagrame.

Din documentația oficială:

plotly.py este o interactivă, bazată pe browser bibliotecă de grafică pentru Python. Construit pe partea de sus a plotly.js, plotly.py este o bibliotecă de diagramă la nivel înalt, declarativă. loturile plotly.js cu peste 30 de tipuri de grafice, inclusiv diagrame științifice, grafice 3D, diagrame statistice, hărți SVG, grafice financiare și multe altele.

În acest tutorial, veți învăța despre instrumentul Plotly de vizualizare a datelor. Veți învăța cum să vizualizați date în Python folosind Plotly.

Noțiuni de bază

Veți folosi un cadru Python numit Flask pentru a crea o aplicație web Python. După ce ați început aplicația, veți vedea cum să utilizați biblioteca Plotly pentru a vizualiza datele.

Configurarea aplicației web din flacon 

Flask este un micro-cadru pentru crearea de aplicații web folosind Python. Este destul de ușor să configurați Flask. Instalați Flache folosind PIP.

pip-balon de instalare

Creați un director numit PythonPlot. Navigați la director și creați un fișier numit app.py.

mkdir PythonPlot cd PythonPlot

Adăugați următorul cod la app.py fişier.

din importul flaconului Flask app = Flask (__ name__) @ app.route ("/") def hello (): reveniți "Bine ați venit la TutsPlus!"

Porniți serverul de aplicații web utilizând următorul cod:

FLASK_APP = executați fișierul app.py

Punctați browserul dvs. la http: // localhost: 5000 / și veți avea aplicația web care rulează cu mesajul de întâmpinare.

Acum, să încercăm să redați o pagină HTML din aplicația dvs. Web Flask. 

Creați un dosar numit template-uri și, în interiorul template-uri folder, creați un fișier numit index.html. Veți redarea graficelor create folosind plotly în index.html fişier.

Adăugați următorul cod HTML la template-uri / index.html.

      

Plotly Chart Demo

Harta va fi aici

Import render_template în interiorul app.py fişier.

din flaconul de import Flask, render_template

Adăugați un nou traseu numit showLineChart în interiorul app.py fişier. Iată cum arată:

@ app.route ('/ showLineChart') def linie (): return render_template ('index.html')

Salvați modificările de mai sus și reporniți serverul. Punctați browserul dvs. la http: // localhost: 5000 / showLineChart, și veți avea pagina redată în browser.

Crearea unei diagrame liniare utilizând Plotly

Să începem cu crearea unei diagrame folosind Plotly. Importați bibliotecile legate de ploturi în app.py fişier.

import parcelar import plotly.plotly ca py import plotly.graph_objs ca mergeți

Veți utiliza NumPy pentru a genera date aleatorii pentru afișarea în interiorul diagramei liniei. Import NumPy în app.py fişier.

import numpy ca np

Veți utiliza numpy.linspace metoda pentru a crea eșantioane distanțate uniform calculate pe interval.

număr = 500 xScale = np.linspace (0, 100, număr)

Codul de mai sus creează 500 de eșantioane distanțate uniform între 0 și 100 pentru scala axelor x.

Poți să folosești numpy.random.randn pentru a crea probe aleatoare pentru scara axei y.

yScale = np.random.randn (număr)

Creați o urmă folosind plotly.graph_objs.scatter metodă.

trace = merge.Scatter (x = xScale, y = yScale)

Trebuie să convertiți urmă în format JSON. Pentru asta, veți folosi codorul JSON plotly.utils.PlotlyJSONEncoder.

date = [urmă] graphJSON = json.dumps (date, cls = plotly.utils.PlotlyJSONEncoder)

Odată ce aveți datele JSON, îl veți trece în fișierul de șablon care va fi redat.

returnați render_template ('index.html', graphJSON = graphJSON)

Iată cum app.py file looks:

de la importul balonului Flask, render_template importul json import parcelar import plotly.plotly ca py import plotly.graph_objs ca merge import numpy ca np app = Flage (__name__) @ app.route ('/ showLineChart') def linie (): count = 500 xScale = np.linspace (0, 100, număr) yScale = np.random.randn (count) # Crearea unui trace trace = go.Scatter (x = xScale, y = yScale) date = [trace] graphJSON = json.dumps (date, cls = plotly.utils.PlotlyJSONEncoder) returnați render_template ('index1.html', graphJSON = graphJSON) 

Trebuie să gestionați datele JSON de pe partea clientului pentru a reda datele din diagramă. În template-uri / index.html fișier, adăugați referințe la următoarele scripturi:

  

După cum se vede în codul de mai sus, ați făcut referire la plotly script, precum și jQuery și D3.js, care sunt, de asemenea, necesare pentru plotly a munci.

Adăugați următorul script pentru a analiza JSON-ul transmis și a reda graficul.

var grafice = graphJSON | sigur; Plotly.plot ( 'chart', grafice, ); 

sigur filtrul marchează în mod explicit șirul ca fiind sigur, prin urmare dezactivând oprirea automată. Odată ce JSON este analizat în grafic variabilă, l-ați trecut la plotly intrigă împreună cu ID-ul divului în care să se facă graficul de linie.

Iată cum index.html file looks:

      

Plotly Chart Demo

Salvați modificările de mai sus și reporniți serverul. Punctați browserul dvs. la http: // localhost: 5000 / showLineChart, și veți avea graficul de randare redat.

Crearea unei diagrame multi-linie folosind Plotly

Cu unele modificări la graficul de mai sus, îl puteți converti într-o diagramă cu mai multe linii. Pentru a crea o diagramă cu mai multe linii, trebuie să adăugați scale suplimentare pentru axa y.

Să începem prin crearea unui nou traseu pentru afișarea graficului cu mai multe linii.

@ app.route ('/ showMultiChart') def multiLine ():

Creați o scală axă x, ca în cazul creării diagramei liniare și adăugați trei scale de axă y.

număr = 500 xScale = np.linspace (0, 100, număr) y0_scale = np.random.randn (număr) y1_scale = np.random.randn (număr) y2_scale = np.random.randn (count)

Creați urme utilizând cele de mai sus XScale și fiecare dintre cântarele y.

trace1 = goScatter (x = xScale, y = y0_scale) trace1 = go.Scatter (x = xScale, y = y1_scale)

Transformați datele în JSON folosind parcelele JSON encoder, așa cum ați făcut atunci când creați o singură diagramă de linie.

date = [trace0, trace1, trace2] graphJSON = json.dumps (date, cls = plotly.utils.PlotlyJSONEncoder) returnare render_template ('index.html', graphJSON = graphJSON)

Iată ce este / showMultiChart rutarea arata ca:

@ app.route ('/ showMultiChart') def multiLine (): count = 500 xScale = np.linspace (0, 100, numar) y0_scale = np.random.randn (count) y1_scale = np.random.randn (x = xScale, y = y0_scale) trace1 = merge.Scatter (x = xScale, y = y1_scale) trace2 = go.Scatter (x = xScale , y = y2_scale) date = [trace0, trace1, trace2] graphJSON = json.dumps (date, cls = plotly.utils.PlotlyJSONEncoder) returnare render_template ('index1.html', graphJSON = graphJSON)

Salvați modificările de mai sus și reporniți serverul. Punctați browserul dvs. la http: // localhost: 5000 / showMultiChart, și veți avea graficul multi-randat redat.

Înfășurați-o

În acest tutorial, ați învățat cum să creați diagrame de linie și multi-linie în Python utilizând biblioteca Plotly. Ați creat o aplicație web Python Flask și ați văzut cum să creați o diagramă de linie utilizând datele de probă generate cu biblioteca NumPy.

Puteți folosi mai mult folosind Plotly. Pentru informații detaliate, aș recomanda citirea documentației oficiale.

Codul sursă din acest tutorial este disponibil în replica GitHub tutorial.

Cum a fost experiența dvs. de învățare pentru a crea diagrame folosind Plotly? Spuneți-ne gândurile și sugestiile în comentariile de mai jos.

Cod