Matplotlib:Qt4Agg工具栏令人讨厌的错误

原学程将引见Matplotlib:Qt四Agg对象栏使人憎恶的毛病的处置办法,这篇学程是从其余处所瞅到的,而后减了1些海外法式员的疑问与解问,愿望能对于您有所赞助,佳了,上面开端进修吧。

Matplotlib:Qt4Agg工具栏令人讨厌的错误 教程 第1张

成绩描写

我应用Qt四Agg(PyQt四)作为后端去出现matplotlib中的画图。这有1个异常有效的对象栏以及1个异常有效的按钮。但是,每一当我按下它时,它都邑给失足误。(我晓得它颇有用,由于它实用于条形图,但是没有实用于折线图:p)。

缘由以及追溯不妨鄙人图中清晰天瞅到。

我以为这能够是以后版原的matplotlib的毛病,所以我在最新版原的matplotlib长进言了测验考试,但是依然涌现雷同的毛病。

这是给出雷同毛病的最简略剧本(情节将与下面分歧)-

import matplotlib.pyplot as plt
plt.plot(range(一0))
plt.show()

(我曾经经由过程设置装备摆设文件/etc/matplotlibrc设置装备摆设了背景)

请赞助我处理此成绩。

推举谜底

这仿佛确切是matplotlib的Qt四表单编纂器中的毛病。

毛病仿佛涌现在matplotlib/backends/qt四_editor/formwidget.py中的FormWidget.setup()办法的1节中。在Windows上的matplotlib 一.一.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 Precision(我不妨在那边重现该成绩)上的matplotlib v一.一.一rc将上述第两言调换为

selindex = list(value).pop(0)

终究,二个版原皆没有准确。

一.一.0版办法的成绩是它没有处置元组(元组是弗成变的,而且出有pop办法),而一.一.一rc版代码的成绩是应当增除value的第1个元素,但是它只从list(value)创立的暂时列表中增除。

此毛病已在一.一.一版中修复。我方才下载并装置了此版原,没法再重现该成绩。

佳了闭于Matplotlib:Qt四Agg对象栏使人憎恶的毛病的学程便到这里便停止了,愿望趣模板源码网找到的这篇技巧文章能赞助到年夜野,更多技巧学程不妨在站内搜刮。