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
Oefeninstructies
- Zet twee plots naast elkaar op met
plt.subplots(). - Koppel de kolom
is_selectedaan de kleur van zowel de staaf- als de scatterplot. - Schakel
dodgeuit 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()