Зарегистрируйтесь, чтобы продолжить обучение

Круговая диаграмма Визуализация в Superset

В этом уроке мы познакомимся с круговыми диаграммами, или как их еще называют, pie charts.

Для начала давайте проверим, что у нас есть подключение к базе данных. Заходим в Superset, открываем настройки и смотрим список подключений. В нашем случае нам нужен PostgreSQL.

С данными в Superset можно работать по-разному. Можно использовать CSV-файлы, Excel-таблицы, Google Sheets или подключаться напрямую к базам данных. Практически с любым источником данных Superset дружит через API, что очень удобно.

Создадим нашу круговую диаграмму. Визуализириуем суммы покупок разных возрастных категорий. Нам понадобится SQL-запрос, потому что данные нужно немного подготовить:

SELECT
    CASE
        WHEN age < 25 THEN '18-24'
        WHEN age BETWEEN 25 AND 34 THEN '25-34'
        WHEN age BETWEEN 35 AND 44 THEN '35-44'
        WHEN age BETWEEN 45 AND 54 THEN '45-54'
        ELSE '55+'
    END AS age_group,
    SUM(p.price * s.quantity) AS total_revenue
FROM sales s
JOIN customers c ON s.customer_id = c.customer_id
JOIN products p ON s.product_id = p.product_id
GROUP BY age_group
ORDER BY age_group;

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

Теперь создаем саму диаграмму. Выбираем тип Pie Chart и начинаем настройку. В Dimensions добавляем age_group – это будет наше основное разделение на секторы по возрастным группам. В Metrics ставим sum(total_revenue) – будем смотреть суммы продаж.

Piechart

Также можно изменять отображение меток - показывать просто значения, можно проценты, а можно и то, и другое вместе. Легенду тоже можно двигать – вправо, влево, вверх или вниз.

Важный совет из практики: не пытайтесь показать на одной диаграмме. Если вам нужно показать и суммы продаж, и количество продаж – лучше сделайте две отдельные диаграммы. А потом их можно будет разместить рядом на дашборде.

И не забываем последний шаг – сохраняем нашу диаграмму. Теперь её можно будет использовать в дашбордах или просто обновлять данные, когда нужно.

Выводы

Сегодня мы научились создавать круговые диаграммы в Apache Superset. Круговые диаграммы – это отличный способ показать структуру данных и сравнить их между собой. Теперь вы можете использовать этот инструмент для анализа данных и принятия обоснованных решений.


Самостоятельная работа

В уроке «Подключение к данным» мы подключили базу flightsdb. В ней содержатся данные о авиаперевозках за два месяца — с 16 июля по 14 сентября 2017 года.

Схема базы данных выглядит так:

Schema

Задание № 1

Авиаперевозчикам интересно узнать распределение проданных билетов по классам обслуживания. Представьте полученные данные в виде круговой диаграммы.

Нажмите сюда, чтобы увидеть подсказку

Чтобы получить необходимые данные, в SQL Lab нужно использовать следующий запрос:

SELECT
  fare_conditions,
  COUNT(*) AS tickets
FROM
  ticket_flights
GROUP BY
  fare_conditions;

Далее в меню CREATE CHART выберите Pie Chart и следующие данные для визуализации:

  • DIMENTIONSfare_conditions
  • METRICStickets

Задание № 2

На этот раз анонимная авиакомпания решила арендовать новые самолеты. Для этого она хочет изучить самые популярные модели.

Сформируйте данные о моделях самолетов и количестве проданных билетов на рейсы этих моделей. Представьте полученную информацию на круговой диаграмме.

Нажмите сюда, чтобы увидеть подсказку

Чтобы получить необходимые данные, в SQL Lab нужно использовать следующий запрос:

SELECT
  aircrafts_data.model,
  COUNT(*) AS passengers_count
FROM
  flights
INNER JOIN
  ticket_flights
  ON flights.flight_id = ticket_flights.flight_id
INNER JOIN
  aircrafts_data
  ON flights.aircraft_code = aircrafts_data.aircraft_code
GROUP BY
  aircrafts_data.model;

В меню CREATE CHART выбираем Pie Chart и следующие данные для визуализации:

  • DIMENTIONSmodel
  • METRICSpassengers_count

Диаграмма будет выглядеть так:

Result


Дополнительные материалы

  1. Документация Preset по круговым диаграммам

Для полного доступа к курсу нужен базовый план

Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.

Получить доступ
1000
упражнений
2000+
часов теории
3200
тестов

Открыть доступ

Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно

  • 130 курсов, 2000+ часов теории
  • 1000 практических заданий в браузере
  • 360 000 студентов
Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»

Наши выпускники работают в компаниях:

Логотип компании Альфа Банк
Логотип компании Aviasales
Логотип компании Yandex
Логотип компании Tinkoff