gpt4 book ai didi

python - matplotlib:Qt4Agg 工具栏令人恼火的错误

转载 作者:太空宇宙 更新时间:2023-11-03 19:12:41 25 4
gpt4 key购买 nike

我使用 Qt4Agg (PyQt4) 作为在 matplotlib 中渲染绘图的后端。它有一个非常有用的工具栏,其中有一个非常有用的按钮“编辑曲线和轴参数”。但是,每当我按下它时,都会出现错误。 (我知道它很有用,因为它适用于条形图,但不适用于线图:P)。

下图可以清楚地看到原因和回溯。

enter image description here

我认为这可能是当前版本的 matplotlib 的一个错误,所以我在最新版本的 matplotlib 上尝试了这个,但它仍然给出相同的错误。

这是最简单的脚本,它给出了相同的错误(绘图将与上面不同)-

import matplotlib.pyplot as plt
plt.plot(range(10))
plt.show()

(我已经通过配置文件/etc/matplotlibrc配置了后端)

请帮我解决这个问题。

最佳答案

这确实似乎是 matplotlib 的 Qt4 表单编辑器中的一个错误。

该错误似乎出现在 matplotlib/backends/qt4_editor/formwidget.py 中的 FormWidget.setup() 方法的一部分内。在 Windows 上的 matplotlib 1.1.0 中(我无法重现该问题),它包含以下内容:

        elif isinstance(value, (list, tuple)):
selindex = value.pop(0)
field = QComboBox(self)
if isinstance(value[0], (list, tuple)):
keys = [ key for key, _val in value ]
value = [ val for _key, val in value ]
else:
keys = value
field.addItems(value)

Kubuntu Precise 上的 matplotlib v1.1.1rc (我可以在其中重现问题)将上面的第二行替换为

            selindex = list(value).pop(0)

最终,这两个版本都不正确。

1.1.0版本方法的问题是它不处理元组(元组是不可变的并且没有pop)方法,而1.1.1rc版本的问题是代码是 value 的第一个元素应该被删除,但它只会从 list(value) 创建的临时列表中删除。

此错误已在 1.1.1 版本中修复。我刚刚下载并安装了这个版本,无法再重现该问题。

关于python - matplotlib:Qt4Agg 工具栏令人恼火的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12445732/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com