Создание анимации Gapminder двумя строчками кода с помощью Plotly Express



Книга Создание анимации Gapminder двумя строчками кода с помощью Plotly Express

«Дисклеймер: мною использовался новый модульplotly_express, сама анимация Gapminder не создавалась с нуля всего двумя строчками.»


Один из значимых моментов в истории визуализации данных — презентация Гансом Рослингом знаменитой анимации Gapminder на TED, которое вскоре получило огромное число просмотров. С этого момента создание такой же анимации стало показателем мастерства в области визуализации данных наравне с работами Эдварда Тафти или Нейта Сильвера.


Недавно Plotly (известная дополнением для интерактивной визуализации для R и Python) выпустила новое расширение/модуль/библиотеку под названием Plotly Express. Как понятно из названия, цель plotly express — стать высокоуровневым, лёгким и быстрым в использовании API для создания интерактивной визуализации.


Иерархия примерно такова:


Plotly Express:Plotly.py :: Seaborn:Matplotlib


Вдохновлённая ggplot2 для R и seaborn для Python, plotly express максимально проста. Все операции выполняются лишь в одну строчку. В этой статье я покажу, как создать анимацию, похожую на знаменитую анимацию Gapminder, используя только plotly express.


Установка


pip3 install plotly_express

Импорт библиотеки с сокращением названия:


import plotly_express as px

Анимация пузырькового графа или анимация Gapminder


px.scatter(px.data.gapminder(), x="gdpPercap", y="lifeExp", animation_frame="year", animation_group="country",
size="pop", color="country", hover_name="country",
log_x = True,
size_max=45, range_x=[100,100000], range_y=[25,90])

Функция px.scatter() довольно незамысловатая. Она получает данные из px.data.gapminder() и определяет оси через параметры x и y. Параметр для кадров определяется через animation_frame. В нашем случае это год, значение которого увеличивается с каждым последующим кадром. При помощи ещё нескольких аргументов, передаваемых функции, мы украшаем график (определяем размер и цвета пузырьков) и он готов!


Заключение


Цель этого поста — рассказать миру о plotly_express, которая является отличной библиотекой для создания красивых интерактивных визуализаций (схожая с highcharter в R).


Ресурсы



311   0  

Comments

    Ничего не найдено.