2010-07-28 12 views
19

Actualmente estoy usando Open Flash Chart 2 en mi sitio web de django, pero me parece insuficientemente personalizable. (Es genial cuando quieres los gráficos de barras habituales, los gráficos circulares, pero ¿qué pasa con las formas caseras ...). Aunque es de código abierto, no tengo ganas de bucear en el código Flex.Matplotlib: gráfico interactivo en un servidor web

Estoy pensando mucho sobre matplotlib pero el documentation es bastante pobre en el desarrollo de aplicaciones web.

¿Alguien usa matplotlib en su aplicación web? Agradecería los enlaces en esos sitios web para descubrir qué se puede lograr. Gracias

Respuesta

16

Si está buscando interactividad tipo flash en una aplicación web, matplotlib probablemente no sea lo que está buscando. Sin embargo, está bien para renderizar una imagen estática en una aplicación web. (y es increíblemente flexible)

Sin embargo, ha habido un gran desarrollo reciente en hacer matplotlib más orientado hacia la interactividad web. Eche un vistazo al nuevo backend HTML5/Canvas. http://code.google.com/p/mplh5canvas/ Todavía no está terminado, pero vale la pena jugar con él de todos modos.

+1

+1 de mí; ninguna idea sobre el proyecto HTML 5/Matplotlib, aunque estoy muy contento de verlo. – doug

+0

Gracias Joe. ¿Sabes si este mplh5canvas me permitirá usar la función ginput() en una aplicación web? – chimpsarehungry

+1

Con el nuevo 'webagg' incluido en matplotlib 1.3 puedes tener diagramas interactivos en el navegador, y supongo que debería ser posible usarlos en un sitio web (pero no he probado ni he visto ningún ejemplo). – jorgeca

3

Puedes usar MPLD3 para exportar tus cosas de matplotlib existentes al navegador.
Matplotlib en sí es muy poderoso, aunque, acepto que la documentación no es muy extensa.
Lo he aprendido simplemente probando cosas y buscando ejemplos en la red.
'matplotlib ejemplo X' donde X es algo acerca de lo que está tratando de trazar encontrar una cantidad sorprendente de código en la red.

2

Resucitando una vieja pregunta con el estado actual de las cosas. A partir de otoño de 2013, ahora hay un ejemplo de incrustación del backend WebAgg de matplotlib en un servidor web basado en Tornado: https://github.com/matplotlib/matplotlib/blob/master/examples/user_interfaces/embedding_webagg.py

Esto hace uso de websockets para enviar las actualizaciones de figuras al navegador, lo que permite tramas interactivas realmente agradables que se renderizan lado del cliente. Esto significa que no se están generando imágenes en el servidor.

Cuestiones relacionadas