Я пытаюсь создать данные для анимации matplotlib.
У меня есть функция data_gen для функции «animation.FuncAnimation» Matplotlib, что называется, как это:функция генератора для анимации matplotlib
ani = animation.FuncAnimation(fig, update, frames=data_gen, init_func=init, interval=10, blit=True)
Мой код имеет такой вид:
def func(a):
a += 1
return a
b = 0
def data_gen():
global b
c = func(b)
b = c
yield c
К сожалению, это не делать то, что я хочу ! Например,
print(data_gen().__next__())
print(data_gen().__next__())
print(data_gen().__next__())
for k in data_gen():
print(k)
... производит этот вывод:
1
2
3
4
Я ожидал, что цикл будет работать вечно, но это не так. (Он останавливается на 4.)
поведение мне нужно:
(1) set initial value for b
(2) update b each time the generator runs
Все предложения высоко оценили!
все еще не работает, поскольку в генераторе нет цикла. он будет только один раз. – M4rtini
@ M4rtini Ваше право, отвлеченное другими проблемами и смущенным глобальным государством .... – tacaswell
@tcaswell Это очень полезно; однако, в том числе аргументы в data_gen, похоже, не работают в вызове функции animation.FuncAnimation. Я задам еще один вопрос, могу ли я сузить источник проблемы. Еще раз спасибо. – Riccati