Aan de slagGa gratis aan de slag

Een plot remixen

Je vindt de relatie tussen de breedtegraad van een farmers market en het aantal maanden dat de markt open was fascinerend. Intuïtief geldt: hoe verder naar het zuiden, hoe langer het groeiseizoen, en dus kunnen markten langer open blijven. Om dit verhaal te visualiseren, vat je de marktgegevens samen op staatsniveau en teken je een heatmap met kolommen die overeenkomen met de duur dat de markten open zijn. Elke rij in de heatmap laat de verdeling van het markt“seizoen” voor een staat zien, en de rijen zijn gesorteerd in aflopende volgorde van de breedtegraad van de staat.

heatmap

De standaard-heatmap laat te wensen over. Verklein de lettergrootte zodat elke staatsnaam zonder overlap past. Het donkere kleurenschema botst ook met de lichte achtergrond, en de colorbar helpt de lezer niet, omdat het hier om relatieve vergelijkingen gaat.

Deze oefening maakt deel uit van de cursus

Je datavisualisaties verbeteren in Python

Cursus bekijken

Oefeninstructies

  • Verklein de lettergrootte tot 85% van de standaard om staatsnamen ruimte te geven.
  • Maak een nieuw kleurenschema dat loopt van 'white' tot 'steelblue'.
  • Vervang het standaardpalet door het zojuist gemaakte palet.
  • Verwijder de doorlopende kleurlegenda (color bar) naast de heatmap.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# Decrease font size so state names are less crowded
sns.set(____ = ____)

# Switch to an appropriate color palette
blue_pal = sns.light_palette("____", as_cmap = True)

# Order states by latitude
g = sns.heatmap(markets_by_month.reindex(state_by_lat), 
            # Add gaps between cells
            linewidths = 0.1, 
            # Set new palette and remove color bar 
            cmap = ____, cbar = ____,
            yticklabels = True)

# Rotate y-axis ticks 
g.set_yticklabels(g.get_yticklabels(), rotation = 0)
plt.title('Distribution of months open for farmers markets by latitude')
plt.show()
Code bewerken en uitvoeren