Aan de slagGa gratis aan de slag

Een plot als legenda gebruiken

Een interessante onderzoekslijn in de gegevens over boerenmarkten is de "marktvriendelijkheid" van een staat, en dan vooral de uitschieters. Een manier om hiernaar te kijken is de verhouding tussen het aantal boerenmarkten en het aantal inwoners per staat. Je kunt direct naar die verhouding kijken; echter, zo’n ratio gooit de ruwe informatie weg over de bevolkingsomvang van een staat en het aantal markten. Een grote staat met een hoge verhouding kan interessanter zijn dan een kleine.

Je kunt zowel de ratio als de ruwe aantallen laten zien door twee plots te tekenen: één van de ratio en één scatterplot van marktaantal versus bevolking. Om je nu vrij drukke visualisatie te vereenvoudigen, kun je de staafdiagram als legenda gebruiken: markeer interessante staten door de kleuren van hun staven en scatterpunten te laten overeenkomen.

Deze oefening maakt deel uit van de cursus

Je datavisualisaties verbeteren in Python

Cursus bekijken

Oefeninstructies

  • Zet twee plots naast elkaar op met plt.subplots().
  • Koppel de kolom is_selected aan de kleur van zowel de staaf- als de scatterplot.
  • Schakel dodge uit in de staafplot, zodat de staven de volledige hoogte hebben.
  • Verwijder de legenda’s in beide plots.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# Set up two side-by-side plots
f, (ax1, ax2) = plt.subplots(____, ____, figsize = (15, 15))

# Map the column for selected states to the bar color
sns.barplot('people_per_market', 'state', hue = '____',
            # Disable dodge so bars are full size
            dodge = ____, 
            data = markets_by_state, ax = ax1)

# Map selected states to point color
sns.scatterplot('log_pop', 'log_markets', hue = '____', 
                data = markets_by_state, ax = ax2, s = 100)

# Remove the legend for both plots
ax1.____()
ax2.____() 
plt.show() 
Code bewerken en uitvoeren