venerdì 6 dicembre 2013

Plotly

Vista la pubblicita' di questi ultimi tempi ho voluto provare il servizio di grafici online Plotly come possibile alternativa a Xively

Vi sono API per numerosi linguaggi ma per semplicita' ho preferito usare Python

Prima di iniziare a scrivere il codice si deve importare la libreria Python per Plotly mediante il comando

pip install plotly
una volta autenticati con Plotly (anche mediante account Google o Facebook) si deve reperire la propria chiave entrando in Settings



si seguito lo script di esempio piu' semplice
Sono da modificare la parte in giallo (attenzione che il nome utente non coincide necessariamente con l'utente di Google... nel caso in cui ci si autentica in questo modo)
------------------------------------
import plotly
py = plotly.plotly(username='LucaInnocenti', key='ifntvfcaa9')

x1 = [1,2,3,10]
y1 = [4,5,6,10]

x2 = [1,2,3]
y2 = [2,10,12]

line1 = {"x": x1,"y": y1, "type":"scatter", "name":"Experiment",
"line":{"color":"rgb(3,78,123)", "width":6, "dash":"dot"},
"marker":{"opacity":1.0,"symbol":"square", "size":12,"color":"rgb(54,144,192)",
"line":{"width":3, "color":"darkblue"}}}

line2 = {"x":x2, "y":y2,"type":"scatter","name":"Control",
"line":{"color":"purple", "width":4, "dash":"dashdot"},
"marker":{"opacity":0.9,"symbol":"cross","size":16,"color":"fuchsia",
"line":{"color":"","width":0}}}

py.plot([line1, line2])
------------------------------------

Una volta che si lancia lo script viene generato un nuovo grafico. Non sembra possibile appendere dei dati ad un grafico gia' esistente creato da un altro script, questo pone dei limiti nel creare grafici incrementali con misure ogni tot secondi per esempio da letture di strumenti

In definitiva, per plottare dati da strumentazione considero superiore Xively