2024-04-18 12:02:07 发布
网友
matplotlib上需要帮助。是的,我没有忘记调用pyplot.show()。
import matplotlib.pyplot as p p.plot(range(20), range(20))
它返回matplotlib.lines.Line2D at 0xade2b2c作为输出。
matplotlib.lines.Line2D at 0xade2b2c
p.show()
什么都不会发生。没有错误消息。没有新窗户。没有什么。我使用pip安装matplotlib,没有任何错误消息。
matplotlib
详细信息:
我用
%matplotlib内联
对我来说,在绘图之前加上上面的一行。
如果我在~/.matplotlib/matplotlibrc中将后端设置为template, 然后我可以重现你的症状:
~/.matplotlib/matplotlibrc
template
~/.matplotlib/matplotlibrc:
# backend : GtkAgg backend : template
注意,文件matplotlibrc可能不在目录~/.matplotlib/中。在这种情况下,下面的代码显示了它的位置:
matplotlibrc
~/.matplotlib/
>>> 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的内容,则应看到一个绘图。你可以列出你机器上所有可用的后端
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']
参考:
我在Ubuntu12.04上遇到了同样的问题,因为我使用
pip install matplotlib
长话短说,我的建议是:不要尝试使用pip或手工安装matplotlib;让真正的包管理器(例如apt g e t/synaptic)为您安装它及其所有依赖项。
不幸的是,matplotlib的后端(实际呈现绘图的替代方法)有各种pip不会处理的依赖关系。更糟糕的是,它无声地失败了;也就是说,pip install matplotlib似乎成功地安装了matplotlib。但当您尝试使用它(例如pyplot.show())时,将不会出现绘图窗口。我尝试了网络上人们建议的所有不同后端(Qt4Agg、GTK等),但都失败了(即,当我尝试导入matplotlib.pyplot时,我得到了ImportError,因为它试图导入一些缺少的依赖项)。然后我研究了如何安装这些依赖项,但这让我想放弃使用pip(在virtualenv中)作为任何具有非Python包依赖项的包的可行安装解决方案。
pyplot.show()
ImportError
整个经历让我爬回apt-get/synaptic(即Ubuntu包管理器)安装matplotlib等软件。这很有效。当然,这意味着你只能安装到你的系统目录中,而不是virtualenv goods,你被Ubuntu发布的版本所困扰,这可能远远落后于当前版本。。。
%matplotlib内联
对我来说,在绘图之前加上上面的一行。
如果我在
~/.matplotlib/matplotlibrc
中将后端设置为template
, 然后我可以重现你的症状:~/.matplotlib/matplotlibrc:
注意,文件
matplotlibrc
可能不在目录~/.matplotlib/
中。在这种情况下,下面的代码显示了它的位置:如果编辑
~/.matplotlib/matplotlibrc
并将后端更改为类似GtkAgg
的内容,则应看到一个绘图。你可以列出你机器上所有可用的后端它应该返回如下列表:
参考:
我在Ubuntu12.04上遇到了同样的问题,因为我使用
长话短说,我的建议是:不要尝试使用pip或手工安装matplotlib;让真正的包管理器(例如apt g e t/synaptic)为您安装它及其所有依赖项。
不幸的是,matplotlib的后端(实际呈现绘图的替代方法)有各种pip不会处理的依赖关系。更糟糕的是,它无声地失败了;也就是说,
pip install matplotlib
似乎成功地安装了matplotlib。但当您尝试使用它(例如pyplot.show()
)时,将不会出现绘图窗口。我尝试了网络上人们建议的所有不同后端(Qt4Agg、GTK等),但都失败了(即,当我尝试导入matplotlib.pyplot时,我得到了ImportError
,因为它试图导入一些缺少的依赖项)。然后我研究了如何安装这些依赖项,但这让我想放弃使用pip(在virtualenv中)作为任何具有非Python包依赖项的包的可行安装解决方案。整个经历让我爬回apt-get/synaptic(即Ubuntu包管理器)安装matplotlib等软件。这很有效。当然,这意味着你只能安装到你的系统目录中,而不是virtualenv goods,你被Ubuntu发布的版本所困扰,这可能远远落后于当前版本。。。
相关问题 更多 >
编程相关推荐