问题描述
我刚刚使用synaptic包系统在Ubuntu 9.10中安装了matplotlib。但是,当我尝试以下简单示例时
>>> from pylab import plot;
>>> plot([1,2,3],[1,2,3])
[<matplotlib.lines.Line2D object at 0x9aa78ec>]
我没有绘图窗口。关于如何让情节窗口显示的任何想法?
最佳解决思路
你可以输入
import pylab
pylab.show()
或更好,使用ipython -pylab
。
自从使用pylab
is not recommended anymore以来,现在的解决方案是
import matplotlib.pyplot as plt
plt.plot([1,2,3])
plt.show()
次佳解决思路
pylab.show()
可以阻止(你需要关闭窗口)。
更方便的解决方案是在启动时执行pylab.ion()
(交互模式):所有(相当于pylab)pyplot.*
命令立即显示其绘图。 More information on the interactive mode可以在官方网站上找到。
我还第二次使用更方便的ipython -pylab
(--pylab
,在较新的版本中),它允许您跳过from … import …
部分(%pylab
也适用于较新的IPython版本)。
第三种解决思路
试试这个:
import matplotlib
matplotlib.use('TkAgg')
在导入pylab之前
第四种思路
下面的代码片段适用于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()
第五种思路
出现任何错误?这可能是一个没有设置后端的问题。您可以从Python解释器或主目录中的配置文件(.matplotlib/matplotlibrc
)进行设置。
要在代码中设置后端,您可以执行此操作
import matplotlib
matplotlib.use('Agg')
其中’Agg’是后端的名称。哪些后端存在取决于您的安装和操作系统。
http://matplotlib.sourceforge.net/faq/installing_faq.html#backends
http://matplotlib.org/users/customizing.html
第六种思路
现代IPython使用带有可选后端参数的“--matplotlib
”参数。默认为”auto”,在Mac和Windows上通常都足够好。我没有在Ubuntu或任何其他Linux发行版上测试它,但我希望它能够工作。
ipython --matplotlib