作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
当尝试使用 pyplot 绘制图形时,我正在运行以下代码:
from matplotlib import pyplot as plt
x = [6, 5, 4]
y = [3, 4, 5]
plt.plot(x, y)
plt.show()
这将返回以下错误:
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-3-59955f73b463> in <module>()
4 y = [3, 4, 5]
5
----> 6 plt.plot(x, y)
7 plt.show()
/usr/local/lib/python2.7/site-packages/matplotlib/pyplot.pyc in plot(*args, **kwargs)
3304 @_autogen_docstring(Axes.plot)
3305 def plot(*args, **kwargs):
-> 3306 ax = gca()
3307 # Deprecated: allow callers to override the hold state
3308 # by passing hold=True|False
/usr/local/lib/python2.7/site-packages/matplotlib/pyplot.pyc in gca(**kwargs)
948 matplotlib.figure.Figure.gca : The figure's gca method.
949 """
--> 950 return gcf().gca(**kwargs)
951
952 # More ways of creating axes:
/usr/local/lib/python2.7/site-packages/matplotlib/figure.pyc in gca(self, **kwargs)
1367
1368 # no axes found, so create one which spans the figure
-> 1369 return self.add_subplot(1, 1, 1, **kwargs)
1370
1371 def sca(self, a):
/usr/local/lib/python2.7/site-packages/matplotlib/figure.pyc in add_subplot(self, *args, **kwargs)
1019 self._axstack.remove(ax)
1020
-> 1021 a = subplot_class_factory(projection_class)(self, *args, **kwargs)
1022
1023 self._axstack.add(key, a)
/usr/local/lib/python2.7/site-packages/matplotlib/axes/_subplots.pyc in __init__(self, fig, *args, **kwargs)
71
72 # _axes_class is set in the subplot_class_factory
---> 73 self._axes_class.__init__(self, fig, self.figbox, **kwargs)
74
75 def __reduce__(self):
/usr/local/lib/python2.7/site-packages/matplotlib/axes/_base.pyc in __init__(self, fig, rect, facecolor, frameon, sharex, sharey, label, xscale, yscale, axisbg, **kwargs)
527
528 # this call may differ for non-sep axes, e.g., polar
--> 529 self._init_axis()
530 if axisbg is not None and facecolor is not None:
531 raise TypeError('Both axisbg and facecolor are not None. '
/usr/local/lib/python2.7/site-packages/matplotlib/axes/_base.pyc in _init_axis(self)
620 def _init_axis(self):
621 "move this out of __init__ because non-separable axes don't use it"
--> 622 self.xaxis = maxis.XAxis(self)
623 self.spines['bottom'].register_axis(self.xaxis)
624 self.spines['top'].register_axis(self.xaxis)
/usr/local/lib/python2.7/site-packages/matplotlib/axis.pyc in __init__(self, axes, pickradius)
674 self._minor_tick_kw = dict()
675
--> 676 self.cla()
677 self._set_scale('linear')
678
/usr/local/lib/python2.7/site-packages/matplotlib/axis.pyc in cla(self)
758 self._set_artist_props(self.label)
759
--> 760 self.reset_ticks()
761
762 self.converter = None
/usr/local/lib/python2.7/site-packages/matplotlib/axis.pyc in reset_ticks(self)
769 # define 1 so properties set on ticks will be copied as they
770 # grow
--> 771 cbook.popall(self.majorTicks)
772 cbook.popall(self.minorTicks)
773
AttributeError: 'module' object has no attribute 'popall'
我的 matplotlib 一直运行良好,但在我昨天使用 homebrew 和 pip 重新安装后出现了这个错误。我正在运行以下内容:
OS: Mac OS Sierra 10.12.5
Python: 2.7.13
Matplotlib: 2.0.2
此后我再次尝试完全重新安装 matplotlib 和 python,但仍然遇到相同的错误。我还尝试了多个编辑器(Jupiter、Sublime、Terminal)。
任何帮助将不胜感激!
最佳答案
我遇到了这个确切的错误,在我的例子中,结果是 pip
和 conda
都安装了 matplotlib
的副本。在使用 pip
填补 Anaconda 空白的“混合”环境中,pip
可以自动安装升级到您要求安装的包的(已经安装的)依赖项,创建重复。
对此进行测试:
$ conda list matplotlib
# packages in environment at /home/ec2-user/anaconda3:
#
matplotlib 2.0.2 np113py35_0
matplotlib 2.1.1 <pip>
问题!修复:
$ pip uninstall matplotlib
强制 matplotlib
升级到 pip
想要的版本可能是个好主意:
$ conda install matplotlib=2.1.1
关于python - Matplotlib 属性错误 : 'module' object has no attribute 'popall' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44155564/
当尝试使用 pyplot 绘制图形时,我正在运行以下代码: from matplotlib import pyplot as plt x = [6, 5, 4] y = [3, 4, 5] plt.p
我是一名优秀的程序员,十分优秀!