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.
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.
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.
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.
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.
Î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.