interprete - ejecutar python en linux
Los diagramas de Matplotlib no se muestran cuando se ejecuta un archivo desde el terminal de bash (1)
Necesita agregar matplotlib.pyplot.show()
en su código para mostrar gráficas en modo no interactivo. Consulte los documentos en http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.show
Después de obtener más información de OP, el bloqueo debía habilitarse explícitamente usando plt.show(block=True)
.
Las tramas normalmente se muestran cuando ejecuto archivos desde el shell de ipython o desde un notebook ipython, pero no aparecen cuando ejecuto el archivo desde un terminal de bash; todo lo demás funciona bien cuando se ejecuta desde un terminal de bash.
Ejemplo de secuencia de comandos python (trial.py):
import matplotlib.pyplot as plt
print ''please, show my graph''
plt.plot([1,2,3], [1,2,3])
plt.show()
Esto es lo que obtengo (la trama no aparece):
[~/Desktop]$ python trial.py
please, show my graph
[~/Desktop]$
Si lo hago
import matplotlib
matplotlib.use(''TkAgg'')
antes de importar pyplot, se abre una ventana y se cierra inmediatamente cuando la ejecuto desde la terminal.
He intentado diferentes formas de importar módulos sin éxito:
import matplotlib.pyplot as plt
import matplotlib.pylab as plt
from matplotlib import pyplot as plt
from matplotlib import pylab as plt
Tengo la función plt.show () en mi archivo.
¿Sabes cómo puedo solucionarlo?
Alguna información sobre versiones e instalación:
Estoy en un Mac OSX 10.11.3.
In [61]: print matplotlib.__file__
/usr/local/lib/python2.7/site-packages/matplotlib/__init__.pyc
In [62]: print matplotlib.__version__
1.4.2
In [64]: print sys.version
2.7.9 (default, Apr 7 2015, 07:58:25)
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.57)]
In [65]: matplotlib.get_backend()
Out[65]: u''MacOSX''