Встраивание matplotlib в tkinter - примеры заморозки
Я пытаюсь встроить фигуру matplotlib в приложение tkinter, поэтому первое место для начала - это пример с matplotlib, верно?
Я использую Anaconda 4.0.5 с питоном 3.5.1. Когда я пытаюсь запустить пример кода, приложение зависает. Например, если я запустил его с python.exe, консоль зависнет, и мне придется принудительно закрыть его. Окно tkinter не отображается.
В этом коде:
f = Figure(figsize=(5, 4), dpi=100)
a = f.add_subplot(111)
t = arange(0.0, 3.0, 0.01)
s = sin(2*pi*t)
a.plot(t, s)
# a tk.DrawingArea
canvas = FigureCanvasTkAgg(f, master=root)
canvas.show()
Проблема, похоже, связана с последней строкой canvas.show(). Если я это закомментирую, то по крайней мере появится окно.
1 ответ
Проблема, похоже, связана с Python 3, несмотря на то, что сказано в руководствах, которые я следовал. Если я запускаю его с помощью Python 2.7, он запускается без проблем. Однако любая версия Python 3 приводит к сбою
РЕДАКТИРОВАТЬ: я отследил ошибку в Anaconda - очевидно, версии Matplotlib TK и Tkinter разные, что вызывает ошибку. Запуск с Python 2.7 по-прежнему работает нормально.