2010-07-28 7 views
19

Attualmente sto utilizzando Open Flash Chart 2 sul mio sito Web django, ma lo trovo non sufficientemente personalizzabile. (È fantastico quando vuoi i soliti grafici a barre, i pasticci, ma per quanto riguarda le forme fatte in casa ...). Sebbene sia open source, non mi sento di immergermi nel codice Flex.Matplotlib: trama interattiva su un server Web

Sto pensando molto a matplotlib ma lo documentation è piuttosto scarso sullo sviluppo di applicazioni web.

Qualcuno usa Matplotlib nella sua app Web? Gradirei link su quei siti web per capire cosa si può ottenere. Grazie

risposta

16

Se stai cercando l'interattività di tipo flash in un'applicazione web, Matplotlib probabilmente non è quello che stai cercando. Va bene per il rendering di un'immagine statica da distribuire in un'app Web, però. (ed è straordinariamente flessibile)

Tuttavia, ci sono stati molti sviluppi recenti sulla realizzazione di matplotlib più orientato all'interattività web. Dai un'occhiata al nuovo back-end HTML5/Canvas. http://code.google.com/p/mplh5canvas/ Non è ancora finito, ma vale comunque la pena di provarlo.

+1

+1 da me; non ho idea del progetto HTML 5/Matplotlib, anche se sono davvero contento di vederlo. – doug

+0

Grazie Joe. Sai se questo mplh5canvas mi permetterà di usare la funzione ginput() su un'app web? – chimpsarehungry

+1

Con il nuovo 'webagg' incluso in matplotlib 1.3 è possibile avere grafici interattivi nel browser, e suppongo che dovrebbe essere possibile utilizzarli in un sito Web (ma non aver provato né aver visto alcun esempio). – jorgeca

3

È possibile utilizzare MPLD3 per esportare il materiale matplotlib esistente nel browser.
Matplotlib stesso è molto potente, anche se sono d'accordo che la documentazione non sia molto ampia.
Ho imparato solo provando cose e trovando esempi sulla rete.
'esempio matplotlib X' dove X è un po 'su ciò che stai cercando di tracciare una quantità sorprendente di codice sulla rete.

2

Resuscitare una vecchia domanda con lo stato attuale delle cose. Come di Fall 2013, c'è ora un esempio di incorporare WebAgg backend di matplotlib in un server web Tornado-based: https://github.com/matplotlib/matplotlib/blob/master/examples/user_interfaces/embedding_webagg.py

Questo fa uso di WebSockets per inviare gli aggiornamenti figura al browser, che permette di veramente bello trame interattive che vengono resi dalla parte del cliente. Ciò significa che non vengono generate immagini sul server!