La visualizzazione dei dati è un modo per comprendere grandi quantità di dati. Alcune tendenze e modelli potrebbero passare inosservati in formato testo, quindi la visualizzazione dei dati facilita la comprensione di ciò che i dati stanno cercando di dire visualizzandoli utilizzando grafici diversi.
Dalla documentazione ufficiale:
plotly.py è una libreria grafica interattiva basata su browser per Python. Basato su plotly.js, plotly.py è una libreria di diagrammi dichiarativi di alto livello. plotly.js viene fornito con oltre 30 tipi di grafici, tra cui grafici scientifici, grafici 3D, grafici statistici, mappe SVG, grafici finanziari e altro.
In questo tutorial imparerai a conoscere lo strumento di visualizzazione dei dati di Plotly. Imparerai come visualizzare i dati in Python usando Plotly.
Utilizzerai un framework Python chiamato Flask per creare un'applicazione web Python. Una volta avviata l'applicazione, vedrai come utilizzare la libreria Plotly per visualizzare i dati.
Flask è un micro-framework per la creazione di applicazioni Web che utilizzano Python. È abbastanza facile installare Flask. Installa Flask usando PIP.
pip installare pallone
Crea una directory chiamata PythonPlot
. Passare alla directory e creare un file chiamato app.py.
mkdir PythonPlot cd PythonPlot
Aggiungi il seguente codice al app.py file.
da flask import Flask app = Flask (__ name__) @ app.route ("/") def hello (): return "Benvenuto in TutsPlus!"
Avviare il server di applicazioni Web utilizzando il seguente codice:
FLASK_APP = esecuzione del pallone app.py
Indirizza il tuo browser a http: // localhost: 5000 / e avrai l'applicazione web in esecuzione con il messaggio di benvenuto.
Ora proviamo a rendere una pagina HTML dall'applicazione web Flask.
Crea una cartella chiamata modelli e, all'interno del modelli cartella, creare un file chiamato index.html. Renderete i grafici creati usando plotly
nel index.html file.
Aggiungi il seguente codice HTML a templates / index.html.
Plotly Chart Demo
Il grafico sarà qui
Importare render_template
dentro il app.py file.
dalla boccetta import Flask, render_template
Aggiungi una nuova rotta chiamata showLineChart
dentro il app.py file. Ecco come appare:
@ app.route ('/ showLineChart') def line (): restituisce render_template ('index.html')
Salvare le modifiche precedenti e riavviare il server. Indirizza il tuo browser a http: // localhost: 5000 / showLineChart, e avrai la pagina visualizzata nel tuo browser.
Iniziamo con la creazione di un grafico a linee usando Plotly. Importa le librerie relative alla trama nel app.py file.
importare graficamente importare plotly.plotly come py importare plotly.graph_objs come andare
Userai NumPy per generare dati casuali per la visualizzazione all'interno del grafico a linee. Importare numpy
nel app.py file.
importa numpy come np
Userai il numpy.linspace
metodo per creare campioni equidistanti calcolati nell'intervallo.
count = 500 xScale = np.linspace (0, 100, count)
Il codice sopra riportato crea 500 campioni equidistanti tra 0 e 100 per la scala dell'asse x.
Puoi usare numpy.random.randn
creare campioni casuali per la scala dell'asse y.
yScale = np.random.randn (contare)
Crea una traccia usando il plotly.graph_objs.scatter
metodo.
trace = go.Scatter (x = xScale, y = yScale)
Devi convertire la traccia in formato JSON. Per questo, farai uso del codificatore JSON grafico plotly.utils.PlotlyJSONEncoder
.
data = [trace] graphJSON = json.dumps (data, cls = plotly.utils.PlotlyJSONEncoder)
Una volta ottenuti i dati JSON, passerai al file modello da rendere.
return render_template ('index.html', graphJSON = graphJSON)
Ecco come app.py aspetto del file:
from flask import Flask, render_template import json import importare graficamente plotly.plotly come py import plotly.graph_objs as go import numpy come np app = Flask (__ name__) @ app.route ('/ showLineChart') def line (): count = 500 xScale = np.linspace (0, 100, count) yScale = np.random.randn (count) # Crea traccia trace = go.Scatter (x = xScale, y = yScale) data = [trace] graphJSON = json.dumps (data, cls = plotly.utils.PlotlyJSONEncoder) restituisce render_template ('index1.html', graphJSON = graphJSON)
È necessario gestire i dati JSON sul lato client per eseguire il rendering dei dati del grafico. Nel templates / index.html file, aggiungere riferimenti ai seguenti script:
Come visto nel codice precedente, hai fatto riferimento a plotly
script, così come jQuery
e d3.js
, che sono anche necessari per plotly
lavorare.
Aggiungi il seguente script per analizzare il JSON passato e rendere il grafico.
var graph = graphJSON | sicuro; Plotly.plot ( 'grafico', grafici, );
Il sicuro
filtro contrassegna in modo esplicito la stringa come sicura, quindi disabilitando l'autoesclusione. Una volta che il JSON è stato analizzato nel grafico
variabile, lo hai passato al plotly
tracciare
metodo insieme all'ID del div in cui rendere il grafico a linee.
Ecco come index.html
aspetto del file:
Plotly Chart Demo
Salvare le modifiche precedenti e riavviare il server. Indirizza il tuo browser a http: // localhost: 5000 / showLineChart, e avrai il grafico a linee renderizzato.
Con alcune modifiche al grafico a linee sopra, è possibile convertirlo in un grafico a più linee. Per creare un grafico a più linee, è necessario aggiungere scale dell'asse y aggiuntive.
Iniziamo creando un nuovo percorso per visualizzare il grafico a più linee.
@ app.route ('/ showMultiChart') def multiLine ():
Crea una scala dell'asse x, come hai fatto quando crei il grafico a linee e aggiungi tre scale dell'asse y.
count = 500 xScale = np.linspace (0, 100, count) y0_scale = np.random.randn (count) y1_scale = np.random.randn (count) y2_scale = np.random.randn (count)
Crea tracce usando il precedente xScale
e ciascuna delle scale y.
trace0 = go.Scatter (x = xScale, y = y0_scale) trace1 = go.Scatter (x = xScale, y = y1_scale) trace2 = go.Scatter (x = xScale, y = y2_scale)
Converti i dati in JSON usando la trama jSON
encoder, come hai fatto durante la creazione di un grafico a linee singole.
data = [trace0, trace1, trace2] graphJSON = json.dumps (data, cls = plotly.utils.PlotlyJSONEncoder) restituisce render_template ('index.html', graphJSON = graphJSON)
Ecco cosa è / showMultiChart
il routing assomiglia a:
@ app.route ('/ showMultiChart') def multiLine (): count = 500 xScale = np.linspace (0, 100, count) y0_scale = np.random.randn (count) y1_scale = np.random.randn (count) y2_scale = np.random.randn (count) # Crea tracce trace0 = go.Scatter (x = xScale, y = y0_scale) trace1 = go.Scatter (x = xScale, y = y1_scale) trace2 = go.Scatter (x = xScale , y = y2_scale) data = [trace0, trace1, trace2] graphJSON = json.dumps (data, cls = plotly.utils.PlotlyJSONEncoder) restituisce render_template ('index1.html', graphJSON = graphJSON)
Salvare le modifiche precedenti e riavviare il server. Indirizza il tuo browser a http: // localhost: 5000 / showMultiChart, e avrai il grafico a più linee renderizzato.
In questo tutorial, hai imparato come creare grafici a linee e multilinea in Python usando la libreria Plotly. Hai creato un'app Web Python Flask e hai visto come creare un grafico a linee utilizzando i dati di esempio generati con la libreria NumPy.
Puoi fare molto di più usando Plotly. Per informazioni dettagliate, consiglierei di leggere la documentazione ufficiale.
Il codice sorgente di questo tutorial è disponibile nel tutorial repo GitHub.
In che modo la tua esperienza ha imparato a creare grafici usando Plotly? Fateci sapere i vostri pensieri e suggerimenti nei commenti qui sotto.