我有一个简单的代码:
from matplotlib import pyplot as plt
plt.plot([1,2,5])
plt.show()
它在jupyter笔记本电脑中工作正常,但是当我尝试使用命令行运行它时:
$ python3 main.py
它抛出一个错误:
_tkinter.TclError: unknown color name "[97]#282a36"
整个引用:
Traceback (most recent call last):
File "main.py", line 2, in <module>
plt.plot([1,2,5])
File "/home/user/.local/lib/python3.6/site-packages/matplotlib/pyplot.py", line 2811, in plot
return gca().plot(
File "/home/user/.local/lib/python3.6/site-packages/matplotlib/pyplot.py", line 935, in gca
return gcf().gca(**kwargs)
File "/home/user/.local/lib/python3.6/site-packages/matplotlib/pyplot.py", line 578, in gcf
return figure()
File "/home/user/.local/lib/python3.6/site-packages/matplotlib/pyplot.py", line 525, in figure
**kwargs)
File "/home/user/.local/lib/python3.6/site-packages/matplotlib/backend_bases.py", line 3218, in new_figure_manager
return cls.new_figure_manager_given_figure(num, fig)
File "/home/user/.local/lib/python3.6/site-packages/matplotlib/backends/_backend_tk.py", line 1008, in new_figure_manager_given_figure
window = Tk.Tk(className="matplotlib")
File "/usr/lib/python3.6/tkinter/__init__.py", line 2023, in __init__
self.tk = _tkinter.create(screenName, baseName, className, interactive, wantobjects, useTk, sync, use)
_tkinter.TclError: unknown color name "[97]#282a36"
我已经尝试过更改matplotlib的后端:
import matplotlib
matplotlib.use('pdf') # Or using other arguments matplotlib.use('Agg')
import matplotlib.pyplot as plt
plt.plot([1,2,5])
plt.show()
它给了我同样的错误信息。
我还尝试使用matplotlib
和分发程序包管理器安装pip
,两者都给我同样的错误。
tkinter
已从我的分发存储库安装。
任何建议都是有帮助的,对于类似的问题,我找不到任何解决方案。
答案 0 :(得分:1)
在阅读matplotlib的Github页面上的this问题后,我清空了.Xresources
并解决了问题。
所以我在.Xresources
文件中看了一些,然后发现了一行:
*background: [97]#282a36
matplotlib
抱怨一种名为[97]#282a36
的颜色的原因:
_tkinter.TclError: unknown color name "[97]#282a36"
从行中删除[97]
可以解决此问题。请记住,您必须运行:
xrdb -merge .Xresources
要进行更改。