Automatiseer je visualisatie
Een van de grootste krachten van Matplotlib is dat je het kunt automatiseren zodat het zich aanpast aan de gegevens die het als input krijgt. Als je bijvoorbeeld gegevens ontvangt met een onbekend aantal categorieën, kun je toch een staafdiagram maken met een staaf voor elke categorie.
Dat ga je in deze oefening doen. Je visualiseert opnieuw gegevens over medaillewinnaars van de Olympische Zomerspelen van 2016, maar dit keer heb je een gegevensset met een onbekend aantal sportdisciplines. Deze wordt in het geheugen geladen als een pandas-DataFrame met de naam summer_2016_medals, met een kolom "Sport" die aangeeft bij welke sportdiscipline elke rij hoort. Er is ook een kolom "Weight" die het gewicht van elke atleet aangeeft.
Deze oefening maakt deel uit van de cursus
Introductie tot datavisualisatie met Matplotlib
Oefeninstructies
- Itereer over de waarden van
sportsen gebruiksportals je lusvariabele. - Haal in elke iteratie de rijen op waarin de kolom
"Sport"gelijk is aansport. - Voeg een staaf toe aan het meegeleverde
ax-object, gelabeld met de sportnaam, met het gemiddelde van de kolom"Weight"als hoogte en de standaarddeviatie als foutbalk op de y-as. - Sla de figuur op in het bestand
"sports_weights.png".
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
fig, ax = plt.subplots()
# Loop over the different sports branches
for ____ in ____:
# Extract the rows only for this sport
sport_df = ____
# Add a bar for the "Weight" mean with std y error bar
____
ax.set_ylabel("Weight")
ax.set_xticklabels(sports, rotation=90)
# Save the figure to file
____