使用plot()

时间:2016-05-17 07:46:35

标签: python python-3.x matplotlib

当我尝试以下(在python 3中)时:

>>> import matplotlib.pyplot as pl
>>> pl.plot([1, 2, 3])
>>> pl.show()

我最后收到错误:

AttributeError: 'FontManager' object has no attribute 'ttf_lookup_cache'

但是,当我执行以下操作时,它可以工作:

>>> from matplotlib.font_manager import FontManager
>>> FontManager().ttf_lookup_cache
{}

FontManager构造函数需要一些时间(~1.5s),而第一个代码则不需要。

此外,上面的代码与python 2完全正常,我发现一些帖子提出类似的问题,如:

......但没有一个答案对我有用。

如果有帮助,我正在使用python 3.4.3和matplotlib 1.3.1开发Ubuntu 14.04.4。

1 个答案:

答案 0 :(得分:1)

经过大量挖掘后,我意识到问题可能是我使用的matplotlib的旧版本(使用apt-get install安装)。我尝试删除它并使用pip安装它并且它有效:

sudo apt-get remove python3-matplotlib
sudo pip3 install matplotlib

之后,我第一次导入matplotlib.pyplot(关于构建字体缓存)时收到警告。现在一切正常。

使用matplotlib的{​​{1}}的已安装版本为 1.5.1 (来自 1.3.1 ,使用pip3)。< / p>