Интерактивная визуализация данных распространения COVID-19
Вирусологи изучают морфологию, физиологию, генетику а так же эволюцию вирусов, рассматривают способы диагностики, терапии и профилактики вирусных заболеваний. Изучают вирус под микроскопом. Какие инструменты необходимы Data Scientist’y для изучения вируса?
Data Scientist/Data Analytic работает с огромным объёмом данных, в которые необходимо «погрузиться». Одним из подходов изучения данных является построение графического представления.
В этой статье мы познакомимся с Python’овской библиотекой Plotly, которая позволяет быстро и эффективно строить графические представления данных. Эффективность заключается в интерактивности. Библиотека даёт возможность «прикоснуться» к данным и изучить их со всех «сторон».Plotly — это открытая библиотека, распространяемая по лицензии MIT, что позволяет использовать её в научной и коммерческой деятельности. Весь исходный код находится в репозитории GitHub
Библиотека очень обширная и позволяет строить графические представления данных с разным уровнем сложности, мы же рассмотрим несложные примеры, которые применимы к большинству задач. Если Вы заинтересуетесь библиотекой, рекомендуем ознакомиться с документацией на официальном сайте Plotly.
Данные, с которыми мы сегодня будем работать — статистика распространения короновируса (COVID-19). Датасет взят с репозитория Университета Джонса Хопкинса на GitHub. Университет Джонса Хопкинса — это частный исследовательский университет, основанный Джонсом Хопкинсом в городе Балтимор, штат Мэриленд, США. Мы будем работать с данными на 22.03.2020.
COVID-19 был выбран «на злобу дня», такого же результата можно было добиться на данных, например, о миграции китов, изменения курса валют или каких-либо других. Наша задача заключается в демонстрации возможностей библиотеки, её функциональности и удобстве. Давайте начнём!
Первое, что нам стоит сделать — импортировать библиотеки, с которыми мы будем работать:
Давайте построим наш первый интерактивный график. Это будет гистограмма по топ 5 стран по количеству заразившихся.
Как вы можете заметить код максимально лаконичен, и думаю даже человек, который не занимается программированием легко прочитает этот код.
Вот наша гистограмма.
Следующим этапом будет линейный график. Пример кода.
График достаточно прост в реализация, но и достаточно информативен. Но мы можем добавить на график некие события, которые помогут посмотреть на ситуацию с иной стороны. Сделаем мы это на примере Италии.
На данные можно посмотреть совсем под иным угло… а точнее под всеми углами. Plotly позволяет создавать 3D графики. И вот один пример такого графика:
И напоследок совместим две очень интересных функциональности библиотеки Plotly: анимация и карты. Создавать анимированные графики в библиотеке очень легко, Вы сами можете в этом убедиться: