【问题标题】:TypeError: boxplot() got an unexpected keyword argument 'labels'TypeError: boxplot() 得到了一个意外的关键字参数“标签”
【发布时间】:2015-07-08 01:33:47
【问题描述】:

我正在使用 ipython 3.2.0,我正在尝试使用箱线图。在线文档和示例建议应该存在关键字“标签”,正如SO 帖子中所述,但我收到以下错误:

TypeError: boxplot() got an unexpected keyword argument 'labels'

标签关键字是否被删除?如果是这样,获取箱线图图例的官方方法是什么?

【问题讨论】:

  • 你能告诉我们你的代码吗?标签应该是箱线图的关键字......
  • 问题是我有 matplotlib 1.3.1。我已经升级到 1.4.3,但遇到了一个新问题,即 pylab 在启动时给出错误“ImportError: cannot import name _tkagg”。
  • 更新:tk 问题已通过此处所述的步骤解决:github.com/pism/regional-tools/issues/3

标签: python ubuntu matplotlib ipython


【解决方案1】:

labels kwarg 是在 https://github.com/matplotlib/matplotlib/pull/2643 中添加的,最初随 mpl v1.4.0 一起提供,并且仍然存在 on master

【讨论】:

  • 我明白了。原来我有 matplotlib 1.3.1。我错误地认为通过 pip 升级 ipython 也会更新 matplotlib。我不确定如何单独更新 matplotlib,但我会研究一下。
  • 尝试 pip install --upgrade --user matplotlib
  • 嗯,但是我在 matplotlib-3.3.4 / python 3.9.1 中遇到了这个错误
【解决方案2】:

该解决方案对我不起作用(Windows 上的 Python 33)。 我找到了另一种方法并将其留在这里以防其他人可能需要它:

  1. 卸载旧版本:pip uninstall matplotlib
  2. 从这里下载轮文件https://pypi.python.org/pypi/matplotlib/1.4.3
  3. 运行 pip install path_to_whl_file

【讨论】:

    【解决方案3】:

    问题解决了,这里是完整的总结:

    1. 标签命令自 1.4.0 起就可用,如 tcaswell 所述。
    2. “sudo pip install --upgrade ipython”仅更新 ipython
    3. 我的错误是假设 matplotlib 是 matplotlib 的“依赖项”,并且 pip 也会升级它,类似于 apt
    4. “sudo pip install --upgrade matplotlib”工作,但在ipython启动时导致错误“ImportError: cannot import name _tkagg”。
    5. 按照here 的说明,删除matplotlib,安装包tk 和tk-dev,并重新安装matplotlib,解决了_tkagg 错误

    【讨论】:

    • 您几乎应该永远执行sudo pip install ...,因为它可能会干扰您的系统级安装包。如果您想使用的库版本不同于您的发行版使用的虚拟环境(venv 或 conda)。
    • 好吧,开枪。这是我在网上找到的更新 ipython/matplotlib 的推荐解决方案。您是否有关于如何正确执行更新以及如何撤消任何损坏的参考?我曾尝试先运行 apt,但它报告所有软件包都是最新的,表明官方 ubuntu 存储库仍然有非常旧的 matplotlib/ipython 版本?
    • 我建议使用 anaconda + 环境或 enthought canopy 或 venv + pip
    猜你喜欢
    • 2016-09-17
    • 2021-09-29
    • 2022-01-14
    • 2012-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多