这个最小的例子
import matplotlib.pyplot as plt
plt.plot([0, 1, 2, 3])
plt.show()
在Python 3.4(Windows)中使用Matplotlib和Tkinter后端会引发以下异常:
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Python34\lib\tkinter\__init__.py", line 1482, in __call__
return self.func(*args)
File "C:\Python34\lib\site-packages\matplotlib\backends\backend_tkagg.py", line 275, in resize
self._tkcanvas.delete(self._tkphoto)
File "C:\Python34\lib\tkinter\__init__.py", line 2316, in delete
self.tk.call((self._w, 'delete') + args)
TypeError: can only concatenate tuple (not "PhotoImage") to tuple
版本:
>>> matplotlib.__version__
'2.0.2'
>>> tkinter.TkVersion
8.6
>>> sys.version
'3.4.0 (v3.4.0:04f714765c13, Mar 16 2014, 19:25:23) [MSC v.1600 64 bit (AMD64)]'
运行示例是打开一个Tkinter窗口没有画布,但带 pyplot按钮(调整大小,移动,...)。当我使用其中一个按钮(例如缩放到矩形)时,它就会创建画布。只是最初的调用是抛出异常。
我已经重新安装了matplotlib,但问题仍然存在。我该如何解决这个问题?