2014-09-20 5 views
0

Всякий раз, когда я пытаюсь построить что-нибудь с Matplotlib (Fe this example code) я получаю ту же ошибку:Matplotlib пример кода бросает TclError

 [email protected]$ python test_for_matplotlib.py 
    Traceback (most recent call last): 
    File "test_for_matplotlib.py", line 5, in <module> 
    fig, ax = plt.subplots() 
    File "/usr/lib/pymodules/python2.7/matplotlib/pyplot.py", line 1046, in subplots 
    fig = figure(**fig_kw) 
    File "/usr/lib/pymodules/python2.7/matplotlib/pyplot.py", line 423, in figure 
    **kwargs) 
    File "/usr/lib/pymodules/python2.7/matplotlib/backends/backend_tkagg.py", line 79, in new_figure_manager 
    return new_figure_manager_given_figure(num, figure) 
    File "/usr/lib/pymodules/python2.7/matplotlib/backends/backend_tkagg.py", line 87, in new_figure_manager_given_figure 
    window = Tk.Tk() 
    File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 1767, in __init__ 
    self.tk = _tkinter.create(screenName, baseName, className, interactive, wantobjects, useTk, sync, use) 
_tkinter.TclError: unknown color name "S_base3" 

Я попытался исправить это в течение нескольких часов в настоящее время, но я не нахожу никакого решения на межсетях :(

Я освежил питона и Matplotlib:

sudo apt-get install python2.7 

и

sudo apt-get install python-matplotlib 

но ErrorMessage остается неизменным:/

Моя установка: Я бегу pythoncode на 64bit-Ububtu 14.04 VM с Python 2.7.

+0

Вы копируете код, который вы используете здесь? Кроме того, вы используете 'thinter' или только' matplotlib'? –

+1

@AleksanderLidtke: 'matplotlib' имеет бэкэнд Tkinter. –

+0

Код, с которым я связан: http://matplotlib.org/examples/animation/random_data.html. Никакой другой код или что-либо не находится в .py-файле, который я пытаюсь запустить. Поэтому я не использую thinter явно. Другие библиотеки (например, numpy) работают как шарм. – JFM

ответ

1

Я решил проблему, установив новую виртуальную машину. Я думаю, что старое настроение не было исправлено.

+0

и как это сделать? – moldovean

+0

Да, хорошо. Я просто создал новую виртуальную машину и удалил старую. Это был самый эффективный способ, который я видел. – JFM

+0

Хорошо. Я собрал новую копию python3 в каталоге opt (ubuntu) – moldovean

0

Вы должны выбрать другой бэкэнд в своем файле matplotlibrc (под вашим домом или в/etc/matplotlibrc). Заменить:

backend=TkInter 

С:

backend=Qt4Agg 

Или другой бэкенд: http://matplotlib.org/faq/usage_faq.html#what-is-a-backend

Используйте locate matplotlibrc, если вы не можете найти файл гс.

Смежные вопросы