Встраивание 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 по-прежнему работает нормально.

Другие вопросы по тегам