matplotlib中没有绘图窗口

时间:2010-01-25 08:01:58

标签: python ubuntu matplotlib

我刚刚使用synaptic包系统在Ubuntu 9.10中安装了matplotlib。 但是,当我尝试以下简单示例时

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

我没有绘图窗口。关于如何让情节窗口显示的任何想法?

11 个答案:

答案 0 :(得分:127)

您可以输入

import pylab
pylab.show()

或更好,请使用ipython -pylab

答案 1 :(得分:36)

pylab.show()可以阻止(你需要关闭窗口)。

更方便的解决方案是在启动时执行pylab.ion()(交互模式):all(相当于pylab的)pyplot.*命令立即显示其绘图。 More information on the interactive mode可以在官方网站上找到。

我还使用更方便的ipython -pylab--pylab,在较新的版本中),这样您就可以跳过from … import …部分(%pylab的作品,在较新的IPython版本中。)

答案 2 :(得分:17)

试试这个:

import matplotlib
matplotlib.use('TkAgg') 

导入pylab之前

答案 3 :(得分:10)

下面的代码片段适用于Eclipse和Python shell:

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()

答案 4 :(得分:9)

出现任何错误?这可能是一个没有设置后端的问题。您可以从Python解释器或主目录中的配置文件(.matplotlib/matplotlibrc)进行设置。

要在代码中设置后端,您可以

import matplotlib
matplotlib.use('Agg')

其中'Agg'是后端的名称。哪些后端存在取决于您的安装和操作系统。

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

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

答案 5 :(得分:2)

现代IPython使用&#34; --matplotlib&#34;带有可选后端参数的参数。它默认为&#34; auto&#34;,这在Mac和Windows上通常都足够好。我还没有在Ubuntu或任何其他Linux发行版上测试它,但我希望它可以工作。

ipython --matplotlib

答案 6 :(得分:0)

如果您遇到pylab.show()冻结IPython窗口的问题(这可能是Mac OS X特定的;不确定),您可以在IPython窗口中使用cmd-c,切换到绘图窗口,然后会爆发。

显然,将来对pylab.show()的调用不会冻结IPython窗口,只会冻结第一次调用。不幸的是,我发现每次重新安装matplotlib时,绘图窗口/与show()交互的行为都会改变,所以这个解决方案可能并不总是保持不变。

答案 7 :(得分:0)

如果您使用--pylab选项启动IPython,则无需致电show()draw()。试试这个:

ipython  --pylab=inline

答案 8 :(得分:0)

--pylab不再适用于Jupyter,但幸运的是,我们可以在ipython_config.py文件中添加调整以同时获得pylabautoreload功能

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

答案 9 :(得分:0)

如果您是Anaconda和Spyder的用户,那么最好的解决方案是:

工具 -> 首选项 -> IPython控制台 -> 图形部分

然后在图形支持(Matplotlib)部分:

选择两个可用的选项

图形后端中:

选择自动

答案 10 :(得分:-5)

使用easy_install时的另一种可能性是您需要最新版本的matplotlib。 尝试:

import pkg_resources
pkg_resources.require("matplotlib")

在导入matplotlib或其任何模块之前。