Aan de slagGa gratis aan de slag

De juiste variabele kiezen om met kleur te encoderen

Je gaat vervuilingswaarden voor Long Beach en nabijgelegen steden door de tijd heen visualiseren. De meegeleverde code maakt onderstaand (moeilijk leesbaar) plot, met maximale vervuilingswaarden (gegeven als max_pollutant_values) waarbij de balken zijn ingekleurd per stad.

Mutlicolor and busy bar plots with four rows corresponding to the four pollutants in dataset

Met een paar aanpassingen kun je dit snel verbeteren. Door de getoonde steden te beperken tot alleen die in de westelijke helft van het land voorkom je rommel. Vervolgens kun je door de kleur-encodering van city naar year om te zetten een ordinaal palet gebruiken, zodat de lezer niet steeds naar de legenda hoeft te kijken om te zien welke kleur bij welke stad hoort.

Deze oefening maakt deel uit van de cursus

Je datavisualisaties verbeteren in Python

Cursus bekijken

Oefeninstructies

  • Verwijder 'Indianapolis', 'Des Moines', 'Cincinnati', 'Houston' uit de vector cities.
  • Wissel de encoderingen van de variabelen city en year om.
  • Gebruik het ColorBrewer-palet 'BuGn' om je kleuren passend te mappen op de nieuw ordinale variabele.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# Reduce to just cities in the western half of US
cities = ['Fairbanks', 'Long Beach', 'Vandenberg Air Force Base', 'Denver', 
          'Indianapolis', 'Des Moines', 'Cincinnati', 'Houston']

# Filter data to desired cities
city_maxes = max_pollutant_values[max_pollutant_values.city.isin(cities)]

# Swap city and year encodings
sns.catplot(x = 'year', hue = 'city',
              y = 'value', row = 'pollutant',    
              # Change palette to one appropriate for ordinal categories
              data = city_maxes, palette = 'muted',
              sharey = False, kind = 'bar')
plt.show()
Code bewerken en uitvoeren