Использование AnimatPlot для анимации графиков и графиков
Визуализация данных помогает понять различные закономерности, ассоциации, визуальное представление данных и т. Д. Это важно, поскольку раскрывает тайну таблиц данных в форме диаграмм, графиков и графиков. Существует N библиотек Python, которые помогают визуализировать данные, такие как Matplotlib, Seaborn и т. Д.
Что, если я скажу вам, что вы можете анимировать свои визуализации? Довольно интересно! Как будет круто, если ты сможешь это сделать. Давайте разгадываем загадку этого и узнаем, как можно оживить наши обычные сюжеты.
AnimatPlot - это библиотека Python с открытым исходным кодом, которая построена на основе Matplotlib и используется для создания интерактивных анимированных графиков. В этой статье мы рассмотрим некоторые функции, которые предоставляет AnimatPlot.
Давайте начнем…
Установка необходимых библиотек
Начнем с установки AnimatPlot с помощью pip. Команда, приведенная ниже, сделает это.
!pip install animatplot
Импорт необходимых библиотек
На этом этапе мы импортируем необходимые библиотеки для создания анимированных графиков.
%matplotlib notebook import numpy as np import matplotlib.pyplot as plt import animatplot as amp
Создание набора данных
Созданный здесь набор данных создаст синусоидальную волну, а затем мы анимируем эту синусоидальную волну. Точно так же мы также создадим еще один набор данных для отображения нескольких графиков на одном графике.
x = np.linspace(0, 1, 50) t = np.linspace(0, 1, 20) X, T = np.meshgrid(x, t) Y = np.sin(2*np.pi*(X+T))
Создание анимированного сюжета
Это последний шаг, на котором мы создадим сюжет и анимируем его.
block = amp.blocks.Line(X, Y) anim = amp.Animation([block]) plt.show()
Теперь мы добавим элементы управления к сюжету.
timeline = amp.Timeline(t, units='s', fps=20) block = amp.blocks.Line(X, Y) anim = amp.Animation([block], timeline) anim.controls() plt.show()
Точно так же теперь мы добавим больше данных и создадим несколько графиков на одной диаграмме.
x = np.linspace(-2, 2, 41) y = np.linspace(-2, 2, 41) t = np.linspace(0, 2*np.pi, 30) X, Y, T = np.meshgrid(x, y, t) data = np.sin(X*X+Y*Y-T) line_data = data[20,:,:] fig, (ax1, ax2) = plt.subplots(1, 2) for ax in [ax1, ax2]: ax.set_aspect('equal') ax.set_xlabel('x') ax2.set_ylabel('y', labelpad=-5) ax1.set_ylabel('z') ax1.set_ylim([-1.1,1.1]) fig.suptitle('Multiple blocks') ax1.set_title('Cross Section: $y=0$') ax2.set_title(r'$z=\sin(x^2+y^2-t)$') line_block = amp.blocks.Line(X[0,:,:], line_data, ax=ax1, t_axis=1) block = amp.blocks.Pcolormesh(X[:,:,0], Y[:,:,0], data, ax=ax2, t_axis=2, vmin=-1, vmax=1) plt.colorbar(block.quad) timeline = amp.Timeline(t, fps=10) anim = amp.Animation([block, line_block], timeline) anim.controls() plt.show()
Здесь вы можете увидеть, как мы создавали анимированные сюжеты и добавляли к ним взаимодействие.
Давайте попробуем это с разными данными и создадим анимированную визуализацию. Если у вас возникнут трудности, дайте мне знать в разделе ответов.
Эта статья написана в сотрудничестве с Пиюшем Ингале.
Прежде чем ты уйдешь
Спасибо за чтение! Если вы хотите связаться со мной, свяжитесь со мной по адресу [email protected] или в моем профиле LinkedIn. Вы можете просмотреть мой профиль Github для различных проектов по науке о данных и руководств по пакетам. Кроме того, не стесняйтесь изучать мой профиль и читать разные мои статьи, связанные с наукой о данных.