Báskaya
Ayuda requerida para mostrar matplotlib
parcelas en ipython
. no me olvidé de llamar pyplot.show()
.
$ipython –pylab
import matplotlib.pyplot as plt
plt.plot(range(20), range(20))
Vuelve matplotlib.lines.Line2D at 0xade2b2c
como salida.
plt.show()
No pasa nada. Ningún mensaje de error. Sin ventana nueva. lo instalé matplotlib
con pip
y no se produjeron mensajes de error.
Detalles:
Yo suelo,
- ubuntu
- IPython v0.11
- Pitón v2.6.6
- matplotlib v1.0.1
unutbu
Si configuro mi backend para template
en ~/.matplotlib/matplotlibrc
entonces puedo reproducir sus síntomas:
~/.matplotlib/matplotlibrc:
# backend : GtkAgg
backend : template
Tenga en cuenta que el archivo matplotlibrc
puede que no esté en el directorio ~/.matplotlib/
. En este caso, el siguiente código muestra dónde está:
>>> import matplotlib
>>> matplotlib.matplotlib_fname()
In [1]: import matplotlib.pyplot as p
In [2]: p.plot(range(20),range(20))
Out[2]: [<matplotlib.lines.Line2D object at 0xa64932c>]
In [3]: p.show()
si editas ~/.matplotlib/matplotlibrc
y cambiar el backend a algo como GtkAgg
, deberías ver una trama. Puede enumerar todos los backends disponibles en su máquina con
import matplotlib.rcsetup as rcsetup
print(rcsetup.all_backends)
Debería devolver una lista como:
['GTK', 'GTKAgg', 'GTKCairo', 'FltkAgg', 'MacOSX', 'QtAgg', 'Qt4Agg',
'TkAgg', 'WX', 'WXAgg', 'CocoaAgg', 'agg', 'cairo', 'emf', 'gdk', 'pdf',
'ps', 'svg', 'template']
Referencia:
cristobal lee
Me encontré exactamente con el mismo problema en Ubuntu 12.04, porque instalé matplotlib (dentro de un virtualenv) usando
pip install matplotlib
Para resumir, mi consejo es: no intente instalar matplotlib usando pip oa mano; deje que un administrador de paquetes real (por ejemplo, apt-get / synaptic) lo instale y todas sus dependencias por usted.
Desafortunadamente, los backends de matplotlib (métodos alternativos para renderizar sus gráficos) tienen todo tipo de dependencias que pip no manejará. Peor aún, falla en silencio; eso es, pip install matplotlib
parece instalar matplotlib con éxito. Pero cuando intentas usarlo (por ejemplo, pyplot.show()
), no aparecerá ninguna ventana de trazado. Probé todos los diferentes backends que sugiere la gente en la web (Qt4Agg, GTK, etc.), y todos fallaron (es decir, cuando traté de importar matplotlib.pyplot, obtengo ImportError
porque está tratando de importar alguna dependencia que falta). Luego investigué cómo instalar esas dependencias, pero me hizo querer dejar de usar pip (dentro de virtualenv) como una solución de instalación viable para cualquier paquete que no tenga dependencias de paquetes de Python.
Toda la experiencia me envió a apt-get / synaptic (es decir, el administrador de paquetes de Ubuntu) para instalar software como matplotlib. Eso funcionó perfectamente. Por supuesto, eso significa que solo puede instalar en los directorios de su sistema, sin la bondad de virtualenv, y está atascado con las versiones que distribuye Ubuntu, que pueden estar muy por detrás de la versión actual…
orca
Agregar %matplotlib inline
una vez al cuaderno, antes de trazar.
nueces
Sólo tipo:
plt.ion()
Ver https://www.youtube.com/watch?v=1zmV8lZsHF4 a las 23:30!
plt
se utiliza debido a mi importación: import matplotlib.pyplot
como plt
Estoy usando python2.7 en una Mac con iTerm2.
Para futura referencia,
Me encontré con el mismo problema: pylab no se mostraba en ipython. El problema se solucionó cambiando el archivo de configuración de ipython {ipython_config.py}. En el archivo de configuración
c.InteractiveShellApp.pylab = 'auto'
Cambié ‘auto’ a ‘qt’ y ahora veo gráficos
Bhanu Pratap Singh
Lo que resolvió mi problema fue simplemente usar las dos líneas a continuación en el cuaderno de ipython en la parte superior
%matplotib inline
%pylab inline
Y funcionó. Estoy usando Ubuntu16.04 e ipython-5.1
Tunaki
Agregar las siguientes dos líneas antes de importar pylab parece funcionar para mí
import matplotlib
matplotlib.use("gtk")
import sys
import pylab
import numpy as np
pylab
está muerto. ¿Cuál es la forma recomendada de trazar: matplotlib o pylab?. Ignorar las respuestas conpylab
.–Trenton McKinney
8 abr a las 18:53