Анимированный линейный график

MatplotlibMatplotlibBeginner
Практиковаться сейчас

This tutorial is from open-source community. Access the source code

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом руководстве вы узнаете, как создать анимированный линейный график с использованием библиотеки Python Matplotlib. Линейный график будет отображать синусоидальную волну с изменяющейся амплитудой в течение времени.

Советы по работе с ВМ

После запуска ВМ нажмите в левом верхнем углу, чтобы переключиться на вкладку Notebook и получить доступ к Jupyter Notebook для практики.

Иногда вам может потребоваться подождать несколько секунд, пока Jupyter Notebook не загрузится полностью. Валидация операций не может быть автоматизирована из-за ограничений Jupyter Notebook.

Если вы сталкиваетесь с проблемами во время обучения, не стесняйтесь обращаться к Labby. Оставьте отзыв после занятия, и мы оперативно решим проблему для вас.

Импортировать библиотеки

Первым шагом является импорт необходимых библиотек. Мы будем использовать Matplotlib для создания графика и NumPy для генерации данных.

import matplotlib.pyplot as plt
import numpy as np
import matplotlib.animation as animation

Инициализировать фигуру и оси

Далее нам нужно инициализировать фигуру и оси для графика. Это можно сделать с помощью функции subplots() из Matplotlib.

fig, ax = plt.subplots()

Генерировать данные

На этом этапе мы сгенерируем данные для линейного графика. Мы будем использовать функцию arange() из NumPy для генерации массива значений для оси x и функцию sin() для генерации массива значений для оси y синусоидальной волны.

x = np.arange(0, 2*np.pi, 0.01)
line, = ax.plot(x, np.sin(x))

Определить функцию для анимации

Функция для анимации будет вызываться функцией FuncAnimation() и будет использоваться для обновления графика новыми данными. В этом примере мы будем обновлять значения оси y линейного графика синусоидой с изменяющейся амплитудой в течение времени.

def animate(i):
    line.set_ydata(np.sin(x + i / 50))  ## update the data.
    return line,

Создать объект анимации

Теперь мы можем создать объект анимации с использованием функции FuncAnimation(). Мы передадим в неё объект фигуры, функцию анимации, интервал обновления и количество кадров для сохранения.

ani = animation.FuncAnimation(
    fig, animate, interval=20, blit=True, save_count=50)

Показать график

Наконец, мы можем показать график с использованием функции show() из Matplotlib.

plt.show()

Резюме

В этом уроке мы узнали, как создать анимированный линейный график с использованием библиотеки Python Matplotlib. Мы инициализировали фигуру и оси, сгенерировали данные, определили функцию анимации и создали объект анимации. Затем мы показали график с использованием функции show().