Omgaan met te veel categorieën
Soms heb je weinig ruimte in je figuur en moet je veel data tegelijk laten zien. Hier wil je het jaarverloop van elke verontreinigende stof voor elke stad in de pollution-gegevensset tonen. Elke trajectlijn wordt getekend met de y-waarde als aantal standaarddeviaties vanaf het jaargemiddelde. Dat betekent dat je heel veel lijnen tegelijk in je plot hebt — veel meer dan je duidelijk kunt onderscheiden met kleur.
Om dit aan te pakken, heb je besloten een kleine subset van combinaties van stad en verontreinigende stof (wanted_combos) te benadrukken. Deze subset is voor jou het belangrijkst; de andere trajecten geven waardevolle context voor vergelijking. Om de aandacht te sturen, geef je alle niet-gehighlighte trajectlijnen dezelfde 'other'-kleur.
Deze oefening maakt deel uit van de cursus
Je datavisualisaties verbeteren in Python
Oefeninstructies
- Pas de list comprehension aan om de gewenste combinaties van stad en verontreinigende stof (
wanted_combos) te isoleren. - Laat de lijnplot de lijnen kleuren op basis van de nieuw aangemaakte kolom
color_catsin je DataFrame. - Gebruik het argument
unitsom te bepalen hoe, dus vanuit welke kolom, de punten met elkaar verbonden moeten worden om elke lijn te vormen. - Schakel het samenvoegen (binning) van punten uit met het argument
estimator.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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()