107 votes

Aucune fenêtre de tracé dans matplotlib

Je viens d'installer matplotlib dans Ubuntu 9.10 en utilisant le système de paquets synaptic. Cependant, lorsque j'essaie l'exemple simple suivant

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

Je n'ai pas de fenêtre d'intrigue. Des idées sur la façon de faire apparaître la fenêtre d’intrigue?

162voto

Peter Points 38320

Vous pouvez taper

 import pylab
pylab.show()
 

ou mieux, utilisez ipython -pylab .

39voto

EOL Points 24342

pylab.show() des œuvres, mais des blocs (vous devez fermer la fenêtre).

Un beaucoup plus commode solution est de le faire pylab.ion() (mode interactif) lorsque vous démarrez: tous les pylab équivalents) pyplot.* des commandes d'affichage de leur parcelle immédiatement. Plus d'informations sur le mode interactif peuvent être trouvés sur le site web officiel.

J'ai aussi seconde en utilisant le même plus commode ipython -pylab (--pylab, dans les versions plus récentes), qui vous permet d'ignorer l' from … import … part (%pylab fonctionne, aussi, dans les plus récents IPython versions).

19voto

linhares Points 113

Essaye ça:

 import matplotlib
matplotlib.use('TkAgg') 
 

AVANT d'importer le pylab

11voto

user1613297 Points 31

L'extrait de code ci-dessous fonctionne à la fois sur Eclipse et sur Python Shell:

 import numpy as np
import matplotlib.pyplot as plt
import pylab

# 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
pylab.show()
 

10voto

Matti Lyra Points 5370

Toutes les erreurs montrer? Ce pourrait être une question de ne pas avoir mis le backend. Vous pouvez la définir à partir de l'interpréteur Python ou à partir d'un fichier de configuration (.matplotlib/matplotlibrc) dans le répertoire home.

Pour définir le backend dans le code, vous pouvez le faire

import matplotlib
matplotlib.use('Agg')

où " Agg " est le nom de l'arrière-plan. Qui backends sont présents, tout dépend de votre installation et de l'OS.

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

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X