Мне дали код, который должен имитировать анимацию массива y, обновляемого с течением времени на одном графике. Я хочу показать график в моем терминальном окне (используя Spyder 3.3.6 / Anaconda 1.9.7 на MA C 10.13.14), что обновляет значения y после каждого интервала над 'для 'l oop. Мне дали код от инструктора, который должен выполнять построение - на его видео это выглядит как анимация - с использованием вызовов различных подпрограмм топора - но в моих руках все, что я получаю, это один график с начальным массивом time = 0 ценности.
Я исследовал множество постов в блогах для подобных ситуаций и изучил руководство по matplotlib; Я попытался поиграться с различными командами, их размещением и аргументами. Лучшее, что я сделал, - это построил все y-массивы друг над другом на одном графике (закомментировав команды ax.clear () и plt.show (block = false). Я легко могу сгенерировать новые графики для каждый массив y. Но я нахожусь в лесу относительно того, что происходит с моим кодом.
Я отправляю полный код, чтобы вы могли запустить его и увидеть результаты. Оцените любой свет, на который вы можете пролить это. Спасибо.
import matplotlib.pyplot as plt
import numpy as np
y = numpy.zeros(10)
#set up plot
fig, ax=plt.subplots()
ax.plot(y)
ax.set_ylim([0,1])
plt.show(block=False)
#instructor note: "the block=False flag tells Python to throw the plot on the screen then keep moving".
for i in range(5):
y = np.random.random([10,1])
ax.clear()
ax.plot(y)
ax.set_ylim([0,1])
plt.show(block=False)
fig.canvas.draw()
#Instructor note: "These commands will update the plot to show the latest y values, and then keeps moving".
ax.clear()
ax.plot(y)
ax.set_ylim([0,1])
plt.show
fig.canvas.draw()