【问题标题】:KeyError: 'scale' for import matplotlib.pyplot as pltKeyError: 'scale' for import matplotlib.pyplot as plt
【发布时间】:2020-09-03 22:19:38
【问题描述】:

我收到 KeyError: 'scale' 当我尝试运行 import matplotlib.pyplot

我重新下载了 matplotlib,然后运行了代码,但仍然出现同样的错误。

我还打开了新的 Jupyter 笔记本,只运行了“import matplotlib.pyplot as plt”,但仍然遇到同样的错误。我只运行“import matplotlib”时没有收到任何错误。

如果您能帮我找出导致错误的原因,我将不胜感激。

import matplotlib.pyplot as plt
%matplotlib inline

city_pay_top50.plot(kind='bar', x='customer_city', y='payment_value')
plt.title('Cities with top 50 revenues')

plt.show()
KeyError                                  Traceback (most recent call last)
<ipython-input-6-07805b46bb32> in <module>
----> 1 import matplotlib.pyplot as plt
      2 #%matplotlib inline
      3 
      4 plt.bar(city_pay_top50['customer_city'], city_pay_top50['payment_value'])
      5 #city_pay_top50.plot(kind='bar', x='customer_city', y='payment_value')

~/opt/anaconda3/lib/python3.7/site-packages/matplotlib-3.2.1+1847.gfc8a2fa24-py3.7-macosx-10.9-x86_64.egg/matplotlib/pyplot.py in <module>
     41 from matplotlib import docstring
     42 from matplotlib.backend_bases import FigureCanvasBase, MouseButton
---> 43 from matplotlib.figure import Figure, figaspect
     44 from matplotlib.gridspec import GridSpec
     45 from matplotlib import rcParams, rcParamsDefault, get_backend, rcParamsOrig

~/opt/anaconda3/lib/python3.7/site-packages/matplotlib-3.2.1+1847.gfc8a2fa24-py3.7-macosx-10.9-x86_64.egg/matplotlib/figure.py in <module>
     15 
     16 import matplotlib as mpl
---> 17 from matplotlib import docstring, projections
     18 from matplotlib import __version__ as _mpl_version
     19 

~/opt/anaconda3/lib/python3.7/site-packages/matplotlib-3.2.1+1847.gfc8a2fa24-py3.7-macosx-10.9-x86_64.egg/matplotlib/projections/__init__.py in <module>
      2 from .geo import AitoffAxes, HammerAxes, LambertAxes, MollweideAxes
      3 from .polar import PolarAxes
----> 4 from mpl_toolkits.mplot3d import Axes3D
      5 
      6 

~/opt/anaconda3/lib/python3.7/site-packages/mpl_toolkits/mplot3d/__init__.py in <module>
----> 1 from .axes3d import Axes3D

~/opt/anaconda3/lib/python3.7/site-packages/mpl_toolkits/mplot3d/axes3d.py in <module>
     40 
     41 
---> 42 class Axes3D(Axes):
     43     """
     44     3D axes object.

~/opt/anaconda3/lib/python3.7/site-packages/mpl_toolkits/mplot3d/axes3d.py in Axes3D()
     50     def __init__(
     51             self, fig, rect=None, *args,
---> 52             azim=-60, elev=30, zscale=None, sharez=None, proj_type='persp',
     53             **kwargs):
     54         """

~/opt/anaconda3/lib/python3.7/site-packages/matplotlib-3.2.1+1847.gfc8a2fa24-py3.7-macosx-10.9-x86_64.egg/matplotlib/docstring.py in dedent_interpd(func)
     78     """Dedent *func*'s docstring, then interpolate it with ``interpd``."""
     79     func.__doc__ = inspect.getdoc(func)
---> 80     return interpd(func)

~/opt/anaconda3/lib/python3.7/site-packages/matplotlib-3.2.1+1847.gfc8a2fa24-py3.7-macosx-10.9-x86_64.egg/matplotlib/docstring.py in __call__(self, func)
     38     def __call__(self, func):
     39         if func.__doc__:
---> 40             func.__doc__ %= self.params
     41         return func
     42 

KeyError: 'scale'

【问题讨论】:

  • 我没有提供其余代码,因为我认为没有必要,因为它们与 matploltlib 无关。那么提供我编写的整个代码会更好吗?
  • 但是当我只尝试在没有任何数据或代码的新 Jupyter 笔记本中运行“import matplotlib.pyplot”时,我仍然遇到同样的错误。

标签: python matplotlib


【解决方案1】:

对于那些可能遇到与我相同的错误的人,问题是通过将 Jupyter notebook 的版本更新到我的情况的最新版本来解决的。

【讨论】:

    【解决方案2】:

    我遇到了同样的问题。在我的情况下,这个问题是通过删除 appdata 中的 mpl-toolkits 解决的

    ~/opt/anaconda3/lib/python3.7/site-packages/mpl_toolkits/

    删除这个文件会很有帮助

    【讨论】:

    • 它成功了......让我们看看删除这个文件夹是否不会在未来产生任何其他问题。
    • 这行得通!谁能帮忙解释这与错误有什么关系?
    【解决方案3】:

    我也遇到过这个问题。问题解决了

    conda install matplotlib
    

    希望这能正常工作。

    【讨论】:

      【解决方案4】:

      就我而言,使用安装在 virtualenv 中的 ipython 和 matplotlib,我必须在我的 Ubuntu 20.04 上安装 python-tk

      sudo apt install python-tk
      

      基于:
      https://matplotlib.org/3.1.1/faq/virtualenv_faq.html

      【讨论】:

        【解决方案5】:

        这似乎与mpl_toolkitsmatplotlib 之间的版本不匹配有关。我不知道如何升级mpl_toolkits,所以我降级了matplotlib,错误消失了。

        pip3 install matplotlib==2.*
        

        【讨论】:

          【解决方案6】:

          首先使用命令卸载旧的 Matplotlib:

          sudo pip3 uninstall matplotlib
          

          使用以下命令再次安装:

          sudo pip3 install matplotlib
          

          检查它是否工作。如果不起作用,请卸载两次 matplotlib。因为可能存在两个版本的 matplotlib。

          仅像这种方法,我解决了问题或更新 anaconda 以更新新版本如果您使用的是 anaconda。

          希望这可能会很好。

          【讨论】:

            猜你喜欢
            • 2017-09-20
            • 2018-05-22
            • 1970-01-01
            • 2018-10-16
            • 1970-01-01
            • 1970-01-01
            • 2017-11-05
            • 2019-02-26
            • 2019-04-23
            相关资源
            最近更新 更多