Matplotlib安装
我使用官方存储库已经安装了matplotlib很长一段时间,直到今天仍然没有问题。使用plt.figure()
会在TKAgg
后端引发错误,但任何其他后端都会无缝地工作(Qt4Agg
和Agg
已经过测试)。我的两个安装都使用以下内容:
sudo apt-get install python-matplotlib python3-matplotlib
我还有几个virtualenv安装的matplotlib(使用无全局),在每个环境中使用Python2或3安装matplotlib。
代码段
以下是我的virtualenv安装和系统安装中产生错误的基本代码段:
import matplotlib
matplotlib.use('TkAgg')
import matplotlib.pyplot as plt
plt.figure()
plt.axvline(x=1)
plt.show()
系统安装错误
现在,如果我在系统安装(Python2或3)上运行上面的代码片段,我会得到:
plt.figure()
File "/usr/lib/python2.7/dist-packages/matplotlib/pyplot.py", line 435, in figure
**kwargs)
File "/usr/lib/python2.7/dist-packages/matplotlib/backends/backend_tkagg.py", line 81, in new_figure_manager
return new_figure_manager_given_figure(num, figure)
File "/usr/lib/python2.7/dist-packages/matplotlib/backends/backend_tkagg.py", line 109, in new_figure_manager_given_figure
figManager = FigureManagerTkAgg(canvas, num, window)
File "/usr/lib/python2.7/dist-packages/matplotlib/backends/backend_tkagg.py", line 537, in __init__
self.toolbar = NavigationToolbar2TkAgg( canvas, self.window )
File "/usr/lib/python2.7/dist-packages/matplotlib/backends/backend_tkagg.py", line 682, in __init__
NavigationToolbar2.__init__(self, canvas)
File "/usr/lib/python2.7/dist-packages/matplotlib/backend_bases.py", line 2679, in __init__
self._init_toolbar()
File "/usr/lib/python2.7/dist-packages/matplotlib/backends/backend_tkagg.py", line 736, in _init_toolbar
command=getattr(self, callback))
File "/usr/lib/python2.7/dist-packages/matplotlib/backends/backend_tkagg.py", line 716, in _Button
master=self, text=text, padx=2, pady=2, image=im, command=command)
File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 2163, in __init__
Widget.__init__(self, master, 'button', cnf, kw)
File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 2093, in __init__
(widgetName, self._w) + extra + self._options(cnf))
_tkinter.TclError: unknown color name "rgba:0000/0000/0000/dddd"
VirtualEnv错误
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File ".../local/lib/python2.7/site-packages/matplotlib/pyplot.py", line 109, in <module>
_backend_mod, new_figure_manager, draw_if_interactive, _show = pylab_setup()
File ".../local/lib/python2.7/site-packages/matplotlib/backends/__init__.py", line 32, in pylab_setup
globals(),locals(),[backend_name],0)
File ".../local/lib/python2.7/site-packages/matplotlib/backends/backend_tkagg.py", line 13, in <module>
import matplotlib.backends.tkagg as tkagg
File ".../local/lib/python2.7/site-packages/matplotlib/backends/tkagg.py", line 7, in <module>
from matplotlib.backends import _tkagg
ImportError: cannot import name _tkagg
其他信息
的/ etc / matplotlibrc
#### CONFIGURATION BEGINS HERE
backend : TkAgg
Ubuntu版本:15.10
系统Python版本:2.7.10和3.4.3 +
System Matplotlib版本:1.4.2
VirtualEnv Python版本:2.7.9
VirtualEnv Matplotlib版本:1.4.3
〜/ Xresources中
*foreground: rgba:0000/0000/0000/dddd
*background: rgb:10/10/10
Stack Overflow类似问题
我也看了下面的问题,但没有找到解决我问题的方法。我不能简单地删除我的VM,因为这是我正在使用的个人计算机。此外,我认为我的问题独立于Anaconda(我安装了Anaconda,但我没有使用它,所有这些Python可执行文件都不是来自Anaconda安装程序)。
matplotlib backend_tkagg TclError matplotlib example code throws TclError TclError matplotlib 1.5.0
问题
在保留我的X资源配置的同时,有没有人有任何建议来修复上述错误?我修复了使用Matplotlib的程序(Chimera)中的先前错误,该程序通过修改我的XResources配置引发了不同的TCLError。同样,清除我的XResources配置似乎解决了这个问题,但是,因为我已经有近一年的~/.Xresources
文件了,我发现这不太可能是原因,并且还想保持我的颜色配置。
注释掉上面定义的两行,然后使用xrdb ~/.Xresources
重新加载我的配置解决了这个问题,但我宁愿不必重新定义我的X配置。