Estoy usando IPython con --pylab=inline
y, a veces, me gustaría cambiar rápidamente a la GUI matplotlib interactiva y ampliable para ver gráficos (el que aparece cuando trazas algo en una consola terminal de Python). ¿Cómo podría hacer eso? Preferiblemente sin salir ni reiniciar mi portátil.
El problema con los gráficos en línea en el portátil IPy es que tienen una resolución limitada y no puedo acercarme para ver algunas partes más pequeñas. Con la GUI de maptlotlib que comienza desde una terminal, puedo seleccionar un rectángulo del gráfico en el que quiero hacer zoom y los ejes se ajustan en consecuencia. Intenté experimentar con
from matplotlib import interactive
interactive(True)
y
interactive(False)
pero eso no hizo nada. Tampoco pude encontrar ninguna pista en línea.
python
matplotlib
jupyter-notebook
metakermit
fuente
fuente
%matplotlib notebook
obrasRespuestas:
De acuerdo con la documentación , debería poder alternar de esta manera:
y aparecerá una ventana de trazado normal (puede ser necesario reiniciar el portátil).
Espero que esto ayude.
fuente
%pylab qt
. No funciona en OS X. Quizás en Ubuntu ayude.Si todo lo que quiere hacer es cambiar de gráficos en línea a interactivos y viceversa (para que pueda desplazarse / hacer zoom), es mejor usar% matplotlib magic.
y de vuelta a html
% pylab magic importa un montón de otras cosas e incluso puede resultar en un conflicto. Lo hace "desde pylab import *".
También puede usar un nuevo backend de notebook (agregado en matplotlib 1.4):
Si desea tener más interactividad en sus gráficos, puede mirar mpld3 y bokeh . mpld3 es genial, si no tiene toneladas de puntos de datos (por ejemplo, <5k +) y desea utilizar la sintaxis matplotlib normal, pero más interactividad, en comparación con el cuaderno% matplotlib. Bokeh puede manejar muchos datos, pero necesitas aprender su sintaxis, ya que es una biblioteca separada.
También puede consultar pivottablejs (pip install pivottablejs)
Por muy interesante que sea la exploración de datos interactivos, puede alterar totalmente la reproducibilidad. Me ha pasado, así que trato de usarlo solo en una etapa muy temprana y cambio a matplotlib / seaborn puro en línea, una vez que tengo la idea de los datos.
fuente
Warning: Cannot change to a different GUI toolkit: notebook. Using qt instead.
para%matplotlib notebook
.ImportError: Failed to import any qt binding
para el comando mágico qtA partir de matplotlib 1.4.0, ahora hay un backend interactivo para usar en el cuaderno
Hay algunas versiones de IPython que no tienen ese alias registrado, la alternativa es:
Si eso no funciona, actualice su IPython.
Para jugar con esto, ve a tmpnb.org
y pegar
en una celda de código (o simplemente modifique el cuaderno de demostración de Python existente)
fuente
Una mejor solución para su problema podría ser la biblioteca de gráficos . Le permite utilizar la excelente biblioteca javascript de Highcharts para crear gráficos hermosos e interactivos. Highcharts usa el HTML
svg
etiqueta por lo que todos sus gráficos son en realidad imágenes vectoriales.Algunas caracteristicas:
Descargo de responsabilidad: soy el desarrollador de la biblioteca
fuente
Estoy usando ipython en "jupyter QTConsole" de Anaconda en www.continuum.io/downloads el 28/5/20117.
Aquí hay un ejemplo para alternar entre una ventana separada y un modo de trazado en línea usando ipython magic.
fuente
%matplotlib
ImportError: No module named 'PyQt4'
sudo apt-get install python-pyqt5
osudo apt-get install python-pyqt5
Reinicie el kernel y borre la salida (si no comienza con un nuevo portátil), luego ejecute
Para obtener más información, vaya a Trazado con matplotlib
fuente
Puedes usar
%matplotlib qt
Si tiene el error
ImportError: Failed to import any qt binding
, instale PyQt5 como:pip install PyQt5
y me funciona.fuente