учебник Python для начинающих
10 книг по Python: как для новичков, так и для профи - Habr
Книг по Python довольно много, среди них есть отличные издания, которые будут полезны разработчику любого уровня.
вот по этой ссылке
Во второй части уже практическое обучение: читателю предстоит написать несложную 2D-игру, а также веб-приложение на Django. Кроме того, рассказывается о визуализации данных с использованием Matplotlib и Plotly. Кстати, о визуализации в мире Python мы уже писали — статья доступна <anchor>вот по этой ссылке</anchor>, она может пригодиться как опытному специалисту, так и начинающему разработчику.
Что нам стоит диаграмму в Python построить: 5 вариантов привлекающей внимание визуализации данных и кое-что ещё / Хабр
Открыть список

Написать публикацию

Настройки

Обновить



1299.33

Рейтинг

Про жизнь и развитие в IT

Подписаться

# Что нам стоит диаграмму в Python построить: 5 вариантов привлекающей внимание визуализации данных и кое-что ещё

Время на прочтение6 мин

Количество просмотров14K

Диаграммы помогают визуализировать как простые, так и самые сложные наборы данных. При этом диаграмм — множество видов, у каждого есть свои достоинства и недостатки. О наиболее эффектных и эффективных, реализуемых с Python, мы решили рассказать в сегодняшней подборке. Если вам интересна эта тема – просим под кат. А если у вас есть собственные предпочтения среди графиков (или вы используете что-то ещё), то пишите в комментариях, обсудим. Что же – поехали!



## Чтобы построить график, нужны данные!

И они у нас есть. Для статьи можно взять практически любые данные, главное, чтобы их можно было визуализировать. Наборы данных по самым разным темам есть на Википедии. Возьмем информацию из статьи "Список стран по выбросам углекислого газа".

Сначала парсим данные. Это можно сделать при помощи вот такого кода:

Затем применяем BeautifulSoup для сортировки и ранжирования данных:

Воспользуемся столбцом «Выбросы углекислого газа в 2018 / Общие» и возьмем только страны с объемом выбросов от 200 до 1000 MT CO2e.

Получаем вот такой результат:



## Визуализируй это

Диаграмм и гистограмм существует великое множество. Если описывать все – получится не статья, а сочинение из многих томов. Поэтому отберем пять, которые привлекают внимание сильнее всего (всё это, конечно, субъективно, поэтому если у вас есть собственные предпочтения по визуализации данных в Python, расскажите о них в комментариях):

- Круговая диаграмма

- Древовидная диаграмма

- Интерактивная гистограмма

- Лепестковая диаграмма

- Секторная диаграмма

#### Круговая диаграмма

Круговой она называется потому, что (вот сюрприз) представляет собой круг с отдельными дорожками на ней. Есть у этой диаграммы особенность — длина столбцов-«дорожек». Те, что находятся ближе к центру круга, короче столбцов, которые находятся подальше. Нечто вроде стадиона с беговыми дорожками, по которым бегут атлеты.

Вот код, который позволяет нарисовать круговую диаграмму для спарсенных ранее данных:



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

#### Древовидная диаграмма

Она демонстрирует иерархические данные в виде площадей прямоугольников.  Стандартная древовидная диаграмма сортирует данные по убыванию. Древовидную диаграмму несложно сделать посредством Plotly.



#### Интерактивная гистограмма

Для создания такой диаграммы также рекомендуем использовать библиотеку Plotly. Она очень сильно упрощает процесс добавления интерактивности. Вот код:

А вот результат:



#### Лепестковая диаграмма

Этот вид диаграмм используется для случаев, когда нужно визуализировать многовариантные данные. Таким образом можно сравнивать данные, которые не расположены рядом друг с другом. Чтобы создать лепестковую диаграмму, будем считать каждую категорию переменной в многовариантных данных.

Вот код, который отвечает за создание этого типа диаграмм.

Результат, который получается в итоге.



Если потребуется визуализировать уже отсортированный DataFrame, то вот код, который позволяет это сделать.

И результат:



#### Пузырьковая диаграмма

Хороший вариант, чтобы наглядно показать данные в виде окружностей с определённым размером. Располагать окружности можно в любом виде — вертикально, горизонтально, кружком, треугольником и т.п. Ниже пример вертикальной пузырьковой диаграммы.

Сначала — пример кода, который отвечает за построение списка значений X, значений Y и меток.



А теперь приступаем к построению самой диаграммы. Вот пример кода:

И сама пузырьковая диаграмма.



## Бонус. А что насчёт анимированных диаграмм?

Для этого в Python есть пакет, который даёт возможность анимировать визуализацию данных. Этот метод расширения FuncAnimation и часть класса Animation библиотеки Matplotlib в Python. Анимация начинается вот с такого кода:

Здесь:

- fig  — объект рисунка, где и будет происходить создание диаграммы.

- chartfunc  — функция, которая позволяет показывать время измерения во временном ряду.

- Interval — задержка между кадрами в мс (по дефолту — до 200).

Если нужна более подробная документация по входным данным, то вот она.

Для демонстрации возможностей анимации диаграмм давайте воспользуемся данными по пандемии COVID-19 по разным странам.



Чтобы построить диаграмму, нужно определить параметры, которые остаются постоянными. Соответственно, создаём объект рисунка, координаты x и y, а также устанавливаем цвета линий и поля.

Далее - настраиваем функцию кривой и анимируем ее.

Вот, что получается на выходе:



Стоит отметить, что возможностей визуализации данных просто огромное количество. Их можно комбинировать, получая нечто совершенно новое и эффектное. Здесь предела совершенству просто нет, можно проводить часы за выбором интересных методов визуализации.

Теги:

Хабы:

Всего голосов 24: ↑24 и ↓0+24

Добавить в закладки131



Про жизнь и развитие в IT



70

Карма

112.1

Рейтинг

Пользователь

Подписаться

Отправить сообщение

## Публикации

Лучшие за суткиПохожие

## Информация

Сайтwww.mts.ruДата регистрации16 августа 2016Дата основания16 апреля 1993Численностьсвыше 10 000 человекМестоположениеРоссия

Ваш аккаунт

Разделы

Информация

Услуги

© 2006–2024, Habr