Gdy kategorii jest zbyt wiele
Zdarza się, że miejsce na wykresie jest ograniczone, a trzeba jednocześnie pokazać dużo danych. W tym ćwiczeniu chcesz przedstawić roczną trajektorię każdego zanieczyszczenia dla każdego miasta ze zbioru danych pollution. Każda trajektoria będzie narysowana jako linia, której wartość na osi y odpowiada odchyleniu standardowemu od średniej rocznej. Na wykresie pojawi się więc bardzo wiele linii – zdecydowanie zbyt dużo, by można je było wyraźnie odróżnić kolorem.
Aby sobie z tym poradzić, postanowiłeś(-aś) wyróżnić niewielki podzbiór kombinacji miasto–zanieczyszczenie (wanted_combos). Te kombinacje są dla ciebie najważniejsze, a pozostałe trajektorie stanowią kontekst porównawczy. Żeby skupić uwagę widza na wybranych danych, wszystkim pozostałym liniom nadasz ten sam, „neutralny" kolor.
To ćwiczenie jest częścią kursu
Ulepszanie wizualizacji danych w Pythonie
Instrukcje do ćwiczenia
- Zmodyfikuj wyrażenie listowe tak, by wyodrębnić pożądane kombinacje miasta i zanieczyszczenia (
wanted_combos). - Wskaż wykresowi liniowemu, że ma kolorować linie według nowo utworzonej kolumny
color_catsw twoim DataFrame. - Użyj argumentu
units, aby określić, w jaki sposób – czyli z której kolumny – punkty danych mają być łączone w poszczególne linie. - Wyłącz grupowanie punktów za pomocą argumentu
estimator.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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()