Работа с большим количеством категорий
Иногда место на графике ограничено, но нужно отобразить сразу много данных. Допустим, вы хотите показать годовую динамику каждого загрязнителя для каждого города из набора данных pollution. Каждая такая динамика будет представлена линией, где значение по оси Y соответствует стандартным отклонениям от среднегодового значения. В результате на графике окажется очень много линий — гораздо больше, чем можно чётко разделить с помощью цвета.
Чтобы справиться с этим, вы решили выделить лишь небольшое подмножество комбинаций «город — загрязнитель» (wanted_combos). Это наиболее важные для вас данные, а остальные траектории послужат полезным контекстом для сравнения. Чтобы акцентировать внимание на нужных линиях, все остальные траектории будут окрашены в одинаковый «фоновый» цвет.
Это упражнение является частью курса
Улучшение визуализации данных в Python
Инструкции к упражнению
- Измените генератор списка так, чтобы выделить нужные комбинации города и загрязнителя (
wanted_combos). - Укажите, что цвет линий на графике должен определяться по вновь созданному столбцу
color_catsв вашем DataFrame. - Используйте аргумент
units, чтобы задать способ соединения точек данных в линии, то есть указать, из какого столбца брать эту информацию. - Отключите группировку точек с помощью аргумента
estimator.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Choose the combos that get distinct colors
wanted_combos = ['Vandenberg Air Force Base NO2', 'Long Beach CO', 'Cincinnati SO2']
# Assign a new column to DataFrame for isolating the desired combos
city_pol_month['color_cats'] = [x if x in ____ else 'other' for x in city_pol_month['city_pol']]
# Plot lines with color driven by new column and lines driven by original categories
sns.lineplot(x = "month",
y = "value",
hue = '____',
units = '____',
estimator = ____,
palette = 'Set2',
data = city_pol_month)
plt.show()