Проблема
Мне нужна плавная анимация, но она рисуется покадрово. Код работает в Jupyter Notebook.
Вот библиотеки
import numpy as np
from matplotlib import pyplot as plt
from scipy import signal as sp
Создание функций для свертки
t_ini=0
t_final = 11
dt=0.1
t = np.arange(t_ini,t_final,dt)
expo = np.exp(-t)*np.piecewise(t,t>=0,[1,0])
t1 = np.arange(0,10,0.1)
s = np.sin(t1)
conv_=sp.convolve(s,expo,'full')
n_conv=np.arange(min(t1)+min(t),max(t1)+max(t)+0.1,0.1)
y = [0] * len(conv_)
t2 = [0] * len(n_conv)
Вот график
i = 0
for x in n_conv:
y[i] = conv_[i]
plt.cla()
t2[i] = n_conv[i]
plt.plot(t2,y)
plt.show()
plt.pause(0.5)
i = i+1
что-то там не так, просто дайте мне пустой график
Хм. Я просто вставил этот код в свою IDE, и он анимировал кривую. Какая у вас версия matplotlib и ваш бэкенд?
моя версия matplotlib 2.0.0, что вы подразумеваете под моим бэкэндом?
Хорошо, когда я запускаю его из cli в файле .py, он отлично анимирует кривую, но в блокноте jupyter это не работает. Почему это могло произойти?
Я не использую блокнот Jupyter, но, похоже, некоторые серверные части не поддерживают анимацию, см. здесь: coderhelper.com/a/46878531/8881141 или здесь: coderhelper.com/a/43447370/8881141