Pregunta No hay ventana de diagrama en matplotlib


Acabo de instalar matplotlib en Ubuntu 9.10 utilizando el sistema de paquete sináptico. Sin embargo, cuando intento el siguiente ejemplo simple

>>> from pylab import plot;
>>> plot([1,2,3],[1,2,3])
[<matplotlib.lines.Line2D object at 0x9aa78ec>]

No tengo ventana de diagrama. ¿Alguna idea sobre cómo mostrar la ventana de la trama?


74
2018-01-25 08:01


origen


Respuestas:


Puedes escribir

import pylab
pylab.show()

o mejor, usa ipython -pylab.


115
2018-01-25 08:12



pylab.show() funciona pero bloquea (debe cerrar la ventana).

Una solución mucho más conveniente es hacer pylab.ion() (modo interactivo encendido) cuando comienzas: todos (los equivalentes de pylab) pyplot.* los comandos muestran su trama de inmediato. Más información sobre el modo interactivo se puede encontrar en el sitio web oficial.

También utilicé el aún más conveniente ipython -pylab (--pylab, en versiones más nuevas), lo que le permite omitir el from … import … parte (%pylab funciona, también, en las versiones más nuevas de IPython).


35
2018-01-25 08:27



Prueba esto:

import matplotlib
matplotlib.use('TkAgg') 

ANTES de importar pylab


15
2018-01-29 19:38



Cualquier error aparece? Esto podría ser un problema de no haber establecido el back-end. Puede configurarlo desde el intérprete de Python o desde un archivo de configuración (.matplotlib/matplotlibrc) en tu directorio de inicio.

Para configurar el backend en el código que puede hacer

import matplotlib
matplotlib.use('Agg')

donde 'Agg' es el nombre del back-end. Qué back-end están presentes dependen de su instalación y sistema operativo.

http://matplotlib.sourceforge.net/faq/installing_faq.html#backends

http://matplotlib.org/users/customizing.html


9
2018-01-25 08:11



El siguiente fragmento de código funciona tanto en Eclipse como en el shell de Python:

import numpy as np
import matplotlib.pyplot as plt

# Come up with x and y
x = np.arange(0, 5, 0.1)
y = np.sin(x)

# Just print x and y for fun
print x
print y

# Plot the x and y and you are supposed to see a sine curve
plt.plot(x, y)

# Without the line below, the figure won't show
plt.show()

8
2017-08-30 01:03



El moderno IPython usa el "--matplotlib"Argumento con un parámetro back-end opcional. Por defecto es" auto ", que generalmente es lo suficientemente bueno en Mac y Windows. No lo he probado en Ubuntu ni en ninguna otra distribución de Linux, pero espero que funcione.

ipython --matplotlib

2
2017-10-12 11:02



Si encuentras un problema en el cual pylab.show() congela la ventana de IPython (esto puede ser específico de Mac OS X; no estoy seguro), puede cmd-c en la ventana de IPython, cambiar a la ventana de trazado y se abrirá.

Aparentemente, futuras llamadas a pylab.show() no congelará la ventana de IPython, solo la primera llamada. Desafortunadamente, he encontrado que el comportamiento de la ventana de trama / interacciones con show () cambia cada vez que reinstalo matplotlib, por lo que esta solución no siempre se cumple.


0
2017-07-05 19:41



Si está iniciando IPython con el --pylab opción, no debería necesitar llamar show() o draw(). Prueba esto:

ipython  --pylab=inline

0
2018-02-03 14:10



--pylab ya no funciona Jupyter, pero afortunadamente podemos agregar un ajuste en el ipython_config.py archivo para obtener ambos pylab tanto como autoreload funcionalidades.

c.InteractiveShellApp.extensions = ['autoreload', 'pylab']
c.InteractiveShellApp.exec_lines = ['%autoreload 2', '%pylab']

0
2017-12-17 17:43