首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >matplotlib不显示我的绘图,尽管我调用了pyplot.show()

matplotlib不显示我的绘图,尽管我调用了pyplot.show()
EN

Stack Overflow用户
提问于 2011-09-24 04:27:47
回答 15查看 312.8K关注 0票数 192

matplotlib需要帮助。是的,我没有忘记调用pyplot.show()。

$ ipython --pylab

import matplotlib.pyplot as p 
p.plot(range(20), range(20))

它返回matplotlib.lines.Line2D at 0xade2b2c作为输出。

p.show()

什么都不会发生。没有错误消息。没有新窗口。没什么。我使用pip安装matplotlib,并且我没有接收任何错误消息。

详细信息:

我使用,

  • Ubuntu
  • IPython v0.11
  • Python v2.6.6
  • matplotlib v1.0.1
EN

回答 15

Stack Overflow用户

回答已采纳

发布于 2011-09-24 04:49:49

如果我在~/.matplotlib/matplotlibrc中将后端设置为template,那么我可以重现您的症状:

~/.matplotlib/matplotlibrc:

# backend      : GtkAgg
backend      : template

请注意,~/.matplotlib/目录中可能不存在文件matplotlibrc。在这种情况下,以下代码显示了它所在的位置:

>>> import matplotlib
>>> matplotlib.matplotlib_fname()

In [1]: import matplotlib.pyplot as p

In [2]: p.plot(range(20),range(20))
Out[2]: [<matplotlib.lines.Line2D object at 0xa64932c>]

In [3]: p.show()

如果您编辑~/.matplotlib/matplotlibrc并将后端更改为类似于GtkAgg的内容,您应该会看到一个图。您可以使用以下命令列出机器上所有可用的后端

import matplotlib.rcsetup as rcsetup
print(rcsetup.all_backends)

它应该返回一个类似如下的列表:

['GTK', 'GTKAgg', 'GTKCairo', 'FltkAgg', 'MacOSX', 'QtAgg', 'Qt4Agg',
'TkAgg', 'WX', 'WXAgg', 'CocoaAgg', 'agg', 'cairo', 'emf', 'gdk', 'pdf',
'ps', 'svg', 'template']

参考资料:

票数 186
EN

Stack Overflow用户

发布于 2012-12-21 08:05:40

我在Ubuntu 12.04上遇到了完全相同的问题,因为我使用以下命令安装matplotlib (在virtualenv中)

pip install matplotlib

长话短说,我的建议是:不要尝试使用pip或手动安装matplotlib;让真正的包管理器(例如apt-get / synaptic)为您安装matplotlib及其所有依赖项。

不幸的是,matplotlib的后端(实际渲染绘图的替代方法)具有pip无法处理的各种依赖项。更糟糕的是,它以静默方式失败;也就是说,pip install matplotlib似乎成功地安装了matplotlib。但当您尝试使用它(例如pyplot.show())时,不会出现绘图窗口。我尝试了网络上人们建议的所有不同的后端(Qt4Agg,GTK等),它们都失败了(例如,当我试图导入matplotlib.pyplot时,我得到了ImportError,因为它试图导入一些缺失的依赖项)。然后我研究了如何安装这些依赖项,但这让我想放弃使用pip (在virtualenv中)作为任何具有非Python包依赖项的包的可行安装解决方案。

整个经历让我爬回apt-get / synaptic (即Ubuntu包管理器)来安装matplotlib这样的软件。这样做效果很好。当然,这意味着你只能安装到你的系统目录中,没有virtualenv好处,而且你只能使用Ubuntu发布的版本,它可能远远落后于当前的版本……

票数 73
EN

Stack Overflow用户

发布于 2015-03-18 20:16:04

%matplotlib内联

对于使用notebook的我来说,在绘图之前添加上面的代码行。

票数 36
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7534453

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档