Cómo incrustar un gráfico interactivo de matplotlib en una página web

He estado buscando cómo incrustar un widget interactivo de matplotlib (como este: http://matplotlib.org/examples/widgets/slider_demo.html ) en una página web. El objective final es hacer una página educativa.

Espero no estar duplicando la pregunta. Lo que Google encuentra es siempre cómo incrustar la ttwig como una toma fija, en un formato de imagen.

Pensé que podía hacer algo con ipython notebook o plotly o gjango . Pero me confundí.

¿Es posible en absoluto para plots poco atractivas? Aprecio sus guías en qué dirección debo pensar y trabajar.

Gracias.

En el verano de 2015, me enfrento a una tarea similar: incrustar widgets interactivos que cambian sus datos subyacentes cuando se mueve el control deslizante. Esto es muy similar a los widgets interactivos de IPython que son interactivos cuando se ejecutan en una máquina local. Se pueden encontrar ejemplos de lo que quiero en el blog de jakevdp .

Para resumir el trabajo realizado hasta el momento:

  • ipywidgets-static convierte los widgets interactivos de IPython en HTML estático. Sin embargo, esta biblioteca ya no se mantiene. El desarrollo se ha movido a ipython / ipywidgets .
  • IPython está trabajando en ipython / ipywidgets . Tienen un problema con Github para hacer que estos widgets sean estáticos y se incrusten en un archivo HTML independiente.
  • HoloViews proporciona algunas opciones de control deslizante interactivas que se pueden incrustar en un archivo HTML estático (utilizando nbconvert de IPython)
  • Los diagtwigs de Bokeh que se basan en controles deslizantes interactivos requieren un servidor .
  • plot.ly no soporta deslizadores / etc. Creo que esto es cierto basado en esta publicación de blog .
  • mpld3 convierte entre matplotlib y d3. Creo que esta biblioteca admite el desplazamiento y el zoom, no los controles deslizantes / interactividad. Aquí hay un tema relacionado con Github

También hay una publicación en el blog titulada ” Scientific Python en el navegador: ¡viene! “. Este post fue fechado el 2014-3-31.

Para mí, las dos opciones más atractivas son ipywidgets y HoloViews, pero estoy deseando que IPython proporcione widgets interactivos estáticos. Espero ver un soporte sólido para los widgets interactivos estáticos rápidamente y en menos de 5 años / 2020 (y en 2 años / 2017?).

A principios de abril de 2014 la respuesta es sí. Basándome en el trabajo que se está realizando en este espacio, espero que la calidad y la cantidad de dichas bibliotecas continúen mejorando muy rápidamente.

IPython 2.0, específicamente el portátil, admite controles interactivos , que Brian Granger cubrió con cierto detalle en su charla IPython – Los atributos del software y cómo afectan nuestro trabajo (consulte a partir de 32:25 las piezas en las que está interesado). )

Se están trabajando en algunos proyectos sorprendentes en este momento que combinan el código del lado del servidor y del cliente para la próxima generación de bibliotecas de visualización de Python. Por el momento, esto incluye el trabajo en MPLD3 y la biblioteca ipywidgets . Hay algunas grandes plots interactivas en el blog Pythonic Perambulations de Jake Vanderplas que demuestran esto.