Як впоратися з надто багатьма категоріями
Іноді місця на фігурі бракує, а даних потрібно показати багато й одразу. Тут ви хочете відобразити річну траєкторію кожної забруднювальної речовини для кожного міста в наборі даних pollution. Кожну траєкторію буде зображено у вигляді лінії, де значення по осі y відповідає кількості стандартних відхилень від середнього за рік. Отже, на графіку одночасно буде дуже багато ліній — значно більше, ніж можна чітко розрізнити за кольором.
Щоб упоратися з цим, ви вирішили виділити невелику підмножину комбінацій міст і забруднювальних речовин (wanted_combos). Ця підмножина для вас найважливіша, а інші траєкторії дадуть корисний контекст для порівняння. Щоб сфокусувати увагу, ви встановите для всіх не виділених траєкторій однаковий колір «other».
Ця вправа є частиною курсу
Удосконалення візуалізацій даних у Python
Інструкції до вправи
- Змініть генератор списку, щоб відібрати потрібні комбінації міста й забруднювальної речовини (
wanted_combos). - Вкажіть для лінійного графіка зафарбовувати лінії за новоствореним стовпцем
color_catsу вашому датафреймі. - Використайте аргумент
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()