ipython notebook --pylab en línea: zoom de un gráfico


82

¿Es posible hacer zoom en un gráfico si está activado en línea? Especialmente con respecto a los gráficos 3D, la rotación y el zoom es una característica necesaria.

Respuestas:


90

¡Ahora, gracias a mpld3 , es muy fácil habilitar el zoom en gráficos en línea!

Todo lo que tiene que hacer es instalar mpld3 ( pip install mpld3) y luego agregar esto a su computadora portátil:

%matplotlib inline
import mpld3
mpld3.enable_notebook()

Ahora sus gráficos obtendrán un menú de barra de herramientas en la parte inferior izquierda, en el que puede habilitar el zoom del mouse :)


Parece que los gráficos 3D aún no son compatibles: github.com/jakevdp/mpld3/issues/223
Théo T

3
Esto es genial, pero se debe agregar que con algunas de las parcelas de trabajo más pesado (parcelas que contienen millones de puntos, por ejemplo), es muy lento.

2
Implementé esto en mi Jupyter Notebook 4.2.2 y al hacer zoom, la figura se quedó en blanco. Agregar origin = 'lower' como argumento a la llamada imshow () lo solucionó. (por ejemplo, imshow (res, origin = 'lower', cmap = cm.gray))
DanGoodrick

6
No me funciona. Estoy recibiendoJson serialization error
Gulzar

95

Ahora puede usar en %matplotlib notebooklugar de %matplotlib inliney podrá interactuar con sus parcelas.


1
Esta es una gran solución. Si lo prueba y no funciona, verifique su versión de matplotlib. Creo que esto se introdujo en la versión 1.5
jpobst

No funciona tan bien como esperaba con las subtramas; puede hacer zoom y desplazarse por una subtrama individual, pero no puede aumentar / disminuir el tamaño de toda la imagen de la parcela. Lo cual, para ser justos, no fue la pregunta original que se hizo anteriormente.
ijoseph

1
@ijoseph también puede aumentar el tamaño de toda la imagen. Simplemente arrastre la esquina inferior derecha del gráfico.
João Abrantes

4
Es posible que deba reiniciar su computadora portátil si ya llamó a% matplotlib en línea
Guido

3
Recibo el error "Error de Javascript: IPython no está definido"
Ben

10

En la actualidad, lo más cerca que puede llegar es volver a dibujarlo en un tamaño más grande usando la figsizefunción. Espera dimensiones en pulgadas, lo que me sorprendió la primera vez que intenté usarlo.

Hay algunas plantas para un backend rico que permitiría manipular gráficos en vivo, usando HTML5, pero creo que pasarán unos meses más antes de que esté listo.

Si está usando la computadora portátil en su computadora local, por ahora, la opción más fácil podría ser no usar el modo en línea, por lo que los gráficos aparecerán como ventanas separadas.


1
Sí, lo es, con una versión reciente de matplotlib, ahora puede seleccionar el backend nbagg.
Thomas K

9

mpld3 ralentizó la ejecución de mis cuadernos. Me pareció mejor usar el backend nbagg que proporciona las mismas herramientas interactivas pero también permite guardar gráficos mediante el menú del botón derecho:

import matplotlib
matplotlib.use('nbagg')
import matplotlib.pyplot as plt

2
Honestamente, creo que esta es la mejor respuesta, se ve mucho mejor que mpld3 y más funciones.
bznein


Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.