Я обнаружил, что последнее обновление для python/matplotlib нарушило важную функцию, а именно, возможность регулярного обновления или «обновления» графика matplotlib во время выполнения кода. Ниже приведен минимальный (не) рабочий пример.Обновление графика matplotlib во время выполнения кода
import numpy as np
from matplotlib.pyplot import *
from time import sleep
x = np.array([0])
y = np.array([0])
figure()
for i in range(51):
gca().cla()
plot(x,y)
xlim([0,50])
ylim([0,2500])
draw()
show(block = False)
x = np.append(x,[x[-1]+1])
y = np.append(y,[x[-1]**2])
sleep(0.01)
Если я запускаю эту программу, используя Python 3.4.3 и 1.4.3 Matplotlib, я вижу сюжет постоянно обновлять, и кривая растет как работает программа. Однако, используя Python 3.5.1 с matplotlib 1.5.3, открывается окно matplotlib, но не отображает график. Вместо этого он постоянно показывает, что окно «не отвечает» и представляет только окончательный график, когда код заканчивает выполнение.
Что я могу сделать по этому поводу? Есть ли способ достичь функциональности, которую я хочу использовать в последней версии?
Примечание: Я использую это из среды IDLE по умолчанию, если это имеет значение.
Вы пробовали эту линию между вашими импортными: '% matplotlib inline'? – estebanpdl
@estebanpdl Мне кажется, что команда предназначена для использования в ipython, чтобы заставить график появиться внутри командного окна. Я не думаю, что это то, что я ищу. – zephyr