使用新立得软件包系统在Ubuntu 9.10我刚刚安装matplotlib。 但是,当我尝试以下简单的例子没有情节窗口matplotlib
>>> from pylab import plot;
>>> plot([1,2,3],[1,2,3])
[<matplotlib.lines.Line2D object at 0x9aa78ec>]
我没有得到任何绘图窗口。关于如何让情节窗口显示的任何想法?
使用新立得软件包系统在Ubuntu 9.10我刚刚安装matplotlib。 但是,当我尝试以下简单的例子没有情节窗口matplotlib
>>> from pylab import plot;
>>> plot([1,2,3],[1,2,3])
[<matplotlib.lines.Line2D object at 0x9aa78ec>]
我没有得到任何绘图窗口。关于如何让情节窗口显示的任何想法?
您可以键入
import pylab
pylab.show()
或更好,使用ipython -pylab
。
出现任何错误?这可能是没有设置后端的问题。您可以从Python解释器或主目录中的配置文件(.matplotlib/matplotlibrc
)对其进行设置。
要在代码中设置,你可以做
import matplotlib
matplotlib.use('Agg')
其中“AGG的”是后端的名称后端。哪些后端存在取决于您的安装和操作系统。
http://matplotlib.sourceforge.net/faq/installing_faq.html#backends
完全作品,谢谢。清楚的是,最简单的事情(当然,一旦你知道这是当然的工作)是将'.matplotlib/matplotlibrc'中的后端设置为'backend:Agg'。那么你不必每次都明确地使用一个:) – dsummersl 2014-08-25 00:37:55
pylab.show()
的作品,但块(你需要关闭窗口)。
更方便的解决方法是在开始时执行pylab.ion()
(交互式模式):所有(等同于python的pyplot.*
命令)命令立即显示它们的图。 More information on the interactive mode可在官方网站上找到。
我也是第二次使用更方便ipython -pylab
(--pylab
,在新的版本),它可以让你跳过from … import …
部分(%pylab
作品,也是在新的IPython版本)。
但你需要首先调用'pylab.show()'来打开一个图。 – 2010-01-25 14:46:58
@Steve:我的经验是,这强烈依赖于后端。在Mac OS X上使用常规的Python shell,我不必为此做show()(或draw()):plot()打开一个新窗口。 – EOL 2010-01-25 16:46:56
啊,好的。好点子。我只有在Linux下使用ipython的经验。 – 2010-01-25 18:42:00
试试这个:
import matplotlib
matplotlib.use('TkAgg')
前汇入pylab
这应该怎么做? – 2012-09-17 21:22:51
现在正在工作,谢谢。 – agarie 2013-07-15 17:58:47
如果遇到其中pylab.show()
冻结IPython的窗口的问题(这可能是苹果 OS X专用的;不知道),你可以在IPython窗口中输入cmd-c,切换到绘图窗口,它会打开。
显然,未来调用pylab.show()
不会冻结IPython的窗口,只有在第一次调用。不幸的是,我发现每次我重新安装matplotlib时,剧情窗口/ show()的交互行为都会发生变化,所以这种解决方案可能并不总是成立。
下面的代码片段适用于Eclipse和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()
正如其他很多答案所阐明的那样,目前这可能适用于您,但这完全取决于您的matplotlib后端的配置方式。 – nealmcb 2014-11-23 21:53:12
另一种可能使用easy_install的时候是需要导入最新的matplotlib的版本。 尝试:
import pkg_resources
pkg_resources.require("matplotlib")
导入matplotlib或任何模块之前。
这只是确保'matplotlib'已安装,不会影响窗口处理的完成方式。 – tacaswell 2013-08-09 14:13:04
如果您使用--pylab
选项启动IPython,则不需要拨打show()
或draw()
。试试这个:
ipython --pylab=inline
--pylab
不再为Jupyter,幸好我们可以在ipython_config.py
文件添加一个调整,以同时获得pylab
以及autoreload
功能。
c.InteractiveShellApp.extensions = ['autoreload', 'pylab']
c.InteractiveShellApp.exec_lines = ['%autoreload 2', '%pylab']
现代IPython的使用具有可选的后端参数 “--matplotlib
” 的说法。它默认为“自动”,这在Mac和Windows上通常足够好。我没有在Ubuntu或任何其他Linux发行版上测试过它,但我希望它能正常工作。
ipython --matplotlib
pylab默认情况下不显示绘图,因为绘图和不断更新会很昂贵。你需要做一个明确的'show()'。 – 2010-01-25 08:15:25
关于这个问题的一些官方文档:http://matplotlib.org/faq/installing_faq.html#matplotlib-compiled-fine-but-nothing-shows-up-when-i-use-it – stephenbez 2014-04-21 18:06:32