Визуализация данных с помощью Altair (часть 3)

Open in Colab


telegram

Изучение наборов данных

Теперь, когда мы познакомились с основными частями API Altair (см. часть 1 и часть 2), пришло время попрактиковаться в его использовании для изучения нового набора данных.

Выберите один из следующих четырех наборов данных, подробно описанных ниже.

Изучая данные, вспомните о строительных блоках, которые мы обсуждали ранее:

Начните с простого. Какие кодировки лучше всего работают с количественными данными? С категориальными данными? Что вы можете узнать о своем наборе данных с помощью этих инструментов?

Набор данных Погода в Сиэтле

Эти данные включают суточные осадки (daily precipitation), диапазон температур (temperature range), скорость ветра (wind speed) и тип погоды в зависимости от даты в период с 2012 по 2015 год в Сиэтле.

Набор данных Gapminder

Эти данные включают численность населения (population), рождаемости (fertility) и ожидаемой продолжительности жизни в ряде стран мира.

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

Набор данных Население США

Эти данные содержат информацию о населении США, разделенное по возрасту и полу каждое десятилетие с 1850 года до настоящего времени.

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

Набор данных Фильмы

Набор данных фильмов содержит данные о 3200 фильмах, включая дату выпуска, бюджет и рейтинги IMDB и Rotten Tomatoes.

Интерактивность и выбор

Интерактивность и грамматика выбора Altair - одна из его уникальных особенностей среди доступных графических библиотек. В этом разделе мы рассмотрим различные доступные типы выбора и начнем практиковаться в создании интерактивных диаграмм и информационных панелей (dashboards).

Доступны три основных типа выбора:

И расскажем о четырех основных вещах, которые вы можете делать с этими выборками.

Основные взаимодействия: панорамирование, масштабирование, всплывающие подсказки

Основные взаимодействия, которые предоставляет Altair, - это панорамирование (panning), масштабирование (zooming) и всплывающие подсказки (tooltips). Это можно сделать на диаграмме без использования интерфейса выбора, используя метод interactive() и кодировку tooltip.

Например, с нашим стандартным набором данных про автомобили мы можем сделать следующее:

В этот момент при наведении курсора на точку появится всплывающая подсказка с названием модели автомобиля, а нажатие/перетаскивание/прокрутка приведет к панорамированию и масштабированию графика.

Более сложное взаимодействие: выбор

Пример основного выбора: интервал

В качестве примера выбора (selection) давайте добавим интервальное выделение на график.

Начнем с классического графика рассеяния (scatter plot):

Чтобы добавить поведение выбора к диаграмме, мы создаем объект выбора и используем метод add_selection:

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

Это можно сделать с помощью alt.condition:

Функция alt.condition принимает три аргумента: объект выбора, значение, которое будет применяться к точкам внутри выделения, и значение, которое будет применено к точкам вне выделения. Здесь мы используем alt.value('lightgray'), чтобы убедиться, что цвет обрабатывается как фактический цвет, а не как имя столбца данных.

Настройка выбора интервала

Функция alt.selection_interval() принимает ряд дополнительных аргументов; например, задавая encodings, мы можем контролировать, охватывает ли выделение x, y или обе оси: