matplotlib中没有绘图窗口

python ubuntu matplotlib

142883 观看

10回复

9182 作者的声誉

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

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

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

作者: dzhelil 的来源 发布者: 2010 年 1 月 25 日

回应 10


9

9755 作者的声誉

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

要在代码中设置后端,您可以执行此操作

import matplotlib
matplotlib.use('Agg')

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

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

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

作者: Matti Lyra 发布者: 2010 年 1 月 25 日

129

86783 作者的声誉

决定

你可以输入

import pylab
pylab.show()

或更好,使用ipython -pylab

作者: Peter 发布者: 2010 年 1 月 25 日

36

59496 作者的声誉

pylab.show() 工作但阻止(你需要关闭窗口)。

更方便的解决方案是pylab.ion()在启动时执行(交互模式):all(相当于pylab)pyplot.*命令立即显示其绘图。有关交互模式的更多信息,请访问官方网站。

我还第二次使用更方便ipython -pylab--pylab在较新版本中),它允许您跳过该from … import …部分(也%pylab适用于较新的IPython版本)。

作者: Eric O Lebigot 发布者: 2010 年 1 月 25 日

18

379 作者的声誉

试试这个:

import matplotlib
matplotlib.use('TkAgg') 

在导入pylab之前

作者: linhares 发布者: 2011 年 1 月 29 日

0

8932 作者的声誉

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

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

作者: keflavich 发布者: 2011 年 7 月 5 日

10

640 作者的声誉

下面的代码片段适用于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()
作者: neobot 发布者: 2012 年 8 月 30 日

-5

883 作者的声誉

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

import pkg_resources
pkg_resources.require("matplotlib")

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

作者: ramsey0 发布者: 2013 年 8 月 9 日

0

659 作者的声誉

如果您使用该--pylab选项启动IPython,则不需要调用show()draw()。试试这个:

ipython  --pylab=inline
作者: Scofield77 发布者: 2015 年 2 月 3 日

0

1573 作者的声誉

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

c.InteractiveShellApp.extensions = ['autoreload', 'pylab']
c.InteractiveShellApp.exec_lines = ['%autoreload 2', '%pylab']
作者: dashesy 发布者: 2015 年 12 月 17 日

2

51 作者的声誉

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

ipython --matplotlib
作者: calvinvette 发布者: 2016 年 10 月 12 日
32x32