Анимация графиков в Python
В этой статье я покажу вам, как анимировать графики в Python с помощью Matplotlib , чтобы вы могли добавить приятные штрихи к своим визуализациям!
Матплотлиб
Matplotlib — это пакет для построения графиков на языке программирования Python. Это один из самых популярных пакетов для визуализации на Python, который предоставляет пользователям возможность создавать двухмерные, трехмерные и даже анимированные графики. Matplotlib предоставляет ряд настраиваемых параметров для создания графиков, включая линейные графики, точечные графики, гистограммы и гистограммы. Поскольку многие люди уже знакомы с использованием Matplotlib для статических визуализаций, я расскажу о его использовании для анимированных графиков. Для тех, кто может быть новичком в Matplotlib, но уже знаком с Python, вот отличный ресурс, который поможет вам начать работу с пакетом.
Базовый двухмерный анимированный сюжет
#Empty lists for X/Y data
x = []
y = []
#Create a figure and axis to plot on
fig, ax = plt.subplots()
#We will create a function that will be called by Matplotlib's FuncAnimation
def getAnimation(iterator):
newInt = random.randint(1,10)
#Append values to our lists
x.append(iterator)
y.append(newInt)
#Clear previous data from the plot
ax.clear()
#Plot the lists with axis limits
ax.plot(x, y)
ax.set_xlim([0,20])
ax.set_ylim([0,20])
#We pass FuncAnimation our getAnimation function so that it is called in a loop
animation = FuncAnimation(fig, getAnimation, frames=20,
interval=500, repeat=False)
plt.show()
Для функции FuncAnimation() , предоставляемой через Matplotlib, требуется фигура и функция, которая будет выполняться в цикле с некоторым количеством кадров. Передавая getAnimation() в качестве аргумента, мы, по сути, создаем слайд-шоу из графиков, которые объединяются в анимацию, зацикливающуюся на несколько кадров . Это результат нашего кода…
Случайная трехмерная анимация ходьбы
#Empty lists for X/Y/Z data
x = []
y = []
z = []
#Lets start off at (10,10,10) the center of our figure with axis limits 20
x.append(10)
y.append(10)
z.append(10)
#Total number of steps we will take
stepTotal = 20
#Create a figure and axis to plot on (3-D)
fig = plt.figure()
ax = fig.add_subplot(projection="3d")
#We will create a function that will be called by Matplotlib's FuncAnimation
def randomWalk(step):
#Append values to our lists
x.append(random.uniform(1,10))
y.append(random.uniform(1,10))
z.append(random.uniform(1,10))
#Clear previous data from the plot
ax.clear()
#Plot the lists with axis limits
ax.plot(x, y, z)
ax.set_xlim([0,20])
ax.set_ylim([0,20])
ax.set_zlim([0,20])
# Creating the Animation object
animation = FuncAnimation(fig, randomWalk, frames=stepTotal, interval=100)
plt.show()
Сохранение анимации
#FuncAnimation() returns an animation object that can be stored
animation = FuncAnimation()
#Instantiate the directory you wish to save to
directory = "/medium/animation.gif"
#We call .save() on our animation object and pass the function a directory
animation.save(directory)
Весь код этой статьи можно найти на моем Github .
Если вы нашли эту статью на Medium интересной, рассмотрите возможность подписаться на меня! Я пишу о математике, информатике и обо всем, что между ними!

![В любом случае, что такое связанный список? [Часть 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































