Тёмный

#14. Создаем анимацию графиков Классы FuncAnimation и ArtistAnimation | Matplotlib уроки 

selfedu
Подписаться 159 тыс.
Просмотров 17 тыс.
50% 1

Опубликовано:

 

25 сен 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 44   
@АлександрВальвачев-я6ъ
Искренне благодарю. Ван надо писать учебник, минимально меняя контент речи.
@nadyamoscow2461
@nadyamoscow2461 2 года назад
Большое спасибо за очередной познавательный и полезный курс.
@АртурЗарипов-ю9п
Большое спасибо за курс!
@waydao4958
@waydao4958 3 года назад
Пойду попробую сделать море в 3D)))
@anonim5052
@anonim5052 6 месяцев назад
МОРЕ import numpy as np import matplotlib.pyplot as plt from matplotlib.animation import ArtistAnimation from mpl_toolkits.mplot3d import Axes3D # Prepare meshgrid x = np.linspace(-2 * np.pi, 2 * np.pi, 100) y = np.linspace(-2 * np.pi, 2 * np.pi, 100) xgrid, ygrid = np.meshgrid(x, y) # Set up the figure fig = plt.figure(figsize=(10, 6)) ax_3d = fig.add_subplot(111, projection='3d') ax_3d.set_zlim(-2, 2) # Limit the z-axis to keep the scale consistent # Initialize random wave centers num_waves = 5 wave_centers = np.random.rand(num_waves, 2) * 4 * np.pi - 2 * np.pi # Random centers # Create animation frames frames = [] for frame in range(50): # Number of frames in the animation zgrid = np.zeros_like(xgrid) for center in wave_centers: # Each wave's contribution is weaker the further it is from the center distance = np.sqrt((xgrid - center[0])**2 + (ygrid - center[1])**2) zgrid += np.sin(distance - 0.1 * frame) / (1 + distance / np.pi) # Create the surface plot for this frame line = ax_3d.plot_surface(xgrid, ygrid, zgrid, cmap='ocean') ax_3d.set_zlim(-2, 2) # Ensure the z-axis limit remains consistent frames.append([line]) # Generate the animation animation = ArtistAnimation(fig, frames, interval=100, blit=False, repeat=True) plt.show()
@ilyakosarev
@ilyakosarev Год назад
Спасибо, очень информативно.
@povorot_netuda
@povorot_netuda 8 месяцев назад
ее я досмотрела этот курс теперь следующий надо смотреть
@BigVeterIvanV
@BigVeterIvanV Год назад
Круть подборка, спасибо.
@friend1cat
@friend1cat 3 года назад
Спасибо, Сергей!
@egorl5878
@egorl5878 8 месяцев назад
спасибо за информацию
@vvvolkov
@vvvolkov Год назад
А как сделать анимацию, если порождающая функция неизвестна, а есть просто набор точек y_i(x_i) в разные моменты времени?
@oplesser
@oplesser 3 года назад
а можно сделать интерактив под юпитером? Я что то попытался в лоб, но у меня не удалось ...
@valera_kardan
@valera_kardan 2 года назад
Здравствуйте, а как можно интегрировать Matloplib в GUI? Например в Pyqt6 чтобы в самой программе рисовать график?
@coolstorieshere
@coolstorieshere Год назад
Второй курс пройден, я все ближе к ML
@cantwaitforit
@cantwaitforit 2 года назад
Что-то с matplotlib случилось. Анимации из видео не запускаются. Примеры из инета - также. Довольно странно, т.к, если сохранять в gif формате, то график отображается
@cantwaitforit
@cantwaitforit 2 года назад
Решил проблему добавлением строчки в самом начале "%matplotlib qt5" (В jupyter)
@ИлларионИванов-л1е
В GoogleColab анимацию наверное нельзя увидеть? Код ваш туда загружаю, при запуске программы видно, что цикл работает, так как слева стрелка бегает по коду, а потом просто в конце одна картинка появляется и всё.
@selfedu_rus
@selfedu_rus Год назад
да, там вроде ограниченный функционал
@ИлларионИванов-л1е
@@selfedu_rus 👌
@DS-gb9bl
@DS-gb9bl 3 года назад
А как создать анимацию полярной функции по типу эпитрохоиды?
@impellergimpeller5133
@impellergimpeller5133 3 года назад
Спасибо! А можно как-то сохранять в GIF или подобный формат?
@selfedu_rus
@selfedu_rus 3 года назад
animation = animation.FuncAnimation( ... ) animation.save('моя анимация.gif', writer='imagemagick', fps=30)
@impellergimpeller5133
@impellergimpeller5133 3 года назад
@@selfedu_rus Спасибо!
@mirlan19
@mirlan19 3 года назад
спасибо
@РомаГусейнов-е6л
@РомаГусейнов-е6л 3 года назад
Здравствуйте! А является ли возможным сделать анимацию движения примитива по графику? Скажем, чтобы по контуру графика параболы двигался красный кружок. Если возможно, можете, пожалуйста, сказать в каком направлении думать?)
@selfedu_rus
@selfedu_rus 3 года назад
делал прям такой пример, вот здесь: github.com/selfedu-rus/python-algorithms файл grad1_1.py
@РомаГусейнов-е6л
@РомаГусейнов-е6л 3 года назад
@@selfedu_rus большое спасибо!
@РомаГусейнов-е6л
@РомаГусейнов-е6л 3 года назад
@@selfedu_rus не сочтите за наглость, а есть ли у вас ещё примеры движения примитива по графику. Ваш предыдущий пример помог, но лучше понять устройство смогу увидев ещё пример. В частности, в файле grad1_1.py в функции df(x) не совсем понял откуда берётся выражение "2*x -5". Мне необходимо сделать анимацию движения по спирали, и я уверен, ваш пример поможет в этом разобраться.
@selfedu_rus
@selfedu_rus 3 года назад
@@РомаГусейнов-е6л 2x - 5 - это производная функции x^2 - 5x + 5. Пример похожий есть grad2.py для двумерного случая. Больше вроде никаких.
@ИлларионИванов-л1е
Добрый День! Скажите, пож-та, на этом обучающее видео по Matplotlib завершён?
@selfedu_rus
@selfedu_rus Год назад
да
@ИлларионИванов-л1е
@@selfedu_rus ок, спасибо за ответ!
@НиколайСергиенко-т7м
Как по мне, от FuncAnimation только сложнее стало)
@tankss8911
@tankss8911 2 года назад
А что делать если не воспроизводится анимация?
@ИлларионИванов-л1е
вот выше кто-то тоже задавался этим вопросом и ее решил: Что-то с matplotlib случилось. Анимации из видео не запускаются. Примеры из инета - также. Довольно странно, т.к, если сохранять в gif формате, то график отображается. @cantwaitforit @cantwaitforit 11 месяцев назад (изменено) Решил проблему добавлением строчки в самом начале "%matplotlib qt5" (В jupyter)
@vonmansfeld2244
@vonmansfeld2244 3 года назад
Я очень надеюсь, что ты не удалишь свои ролики
@ВладимирАндреянов-я8в
все сделал по видео, все модули загрузил, и выскакиевает все равно кончена ошибка, сука, весь день сижу график не могу сделать.
@ВладимирАндреянов-я8в
File "grg.py", line 21, in animation = FuncAnimation( TypeError: __init__() missing 1 required positional argument: 'func'
@ВладимирАндреянов-я8в
в другом варианте, втором, где график должен идти, все без ошибок, но он тупо стоит, все по видео, не единой ошибки
@user-zs2pg6lw8d
@user-zs2pg6lw8d 2 года назад
Пишет, что пропущен обязательный аргумент, т.е. там где в коде: animation = FuncAnimation(fig, func = update_cos ..... т.е пропущена строчка func = update_cos
@ВладимирАндреянов-я8в
@@user-zs2pg6lw8d спасибо
@user-zs2pg6lw8d
@user-zs2pg6lw8d 2 года назад
Вот рабочий код: import matplotlib.pyplot as plt import matplotlib.animation as an import numpy as np def update_cos (frame, line, x): pass line.set_ydata(np.cos(x+frame)) return[line] fig, ax = plt.subplots() x = np.arange(-2*np.pi, 2*np.pi, 0.1) y = np.cos(x) line, = ax.plot(x, y) phasa = np.arange(0, 4*np.pi, 0.1) animation = an.FuncAnimation( fig, func=update_cos, frames=phasa, fargs=(line, x), interval= 30, blit= True, repeat=False) plt.show()
@bl_bl_e
@bl_bl_e 2 года назад
видео слишком перегружено. мне нужно только фанканимейшн, но вместо этого я вижу кучу непонятних коментариев, и не могу разобраться
@ИлларионИванов-л1е
☺Значит надо искать другие источники. Кстати, быстро информацию можно также найти на сайта автора данного курса. Ссылка под видео. Читать намного конечно быстрее, чем смотреть всё видео
Далее
Giant Silver Chocolates ASMR With My Sister! 🤤
00:46