LoslegenKostenlos loslegen

Ein Diagramm neu mixen

Du findest den Zusammenhang zwischen der geografischen Breite eines Bauernmarkts und der Anzahl der Monate, in denen der Markt geöffnet war, spannend. Intuitiv gilt: Je weiter südlich, desto länger sind die Vegetationsperioden und desto länger können Märkte geöffnet bleiben. Um diese Geschichte zu visualisieren, fasst du die Marktdaten auf Staatsebene zusammen und zeichnest eine Heatmap mit Spalten, die der Dauer entsprechen, in der die Märkte geöffnet sind. Jede Zeile in der Heatmap zeigt die Verteilung der Markt-„Saison“ für einen Staat, und die Zeilen sind in absteigender Reihenfolge der geografischen Breite des Staats sortiert.

heatmap

Die Standard-Heatmap lässt zu wünschen übrig. Verringere die Schriftgröße, damit jeder Staatsname ohne Überlappung passt. Die dunkle Farbpalette bei hellem Hintergrund wirkt außerdem unruhig, und die Farbskala hilft hier nicht weiter, da es um relative Vergleiche geht.

Diese Übung ist Teil des Kurses

So verbesserst du deine Datenvisualisierungen in Python

Kurs anzeigen

Anleitung zur Übung

  • Verringere die Schriftgröße auf 85 % des Standardwerts, damit die Staatsnamen nicht gequetscht sind.
  • Erstelle eine neue Farbpalette, die von 'white' bis 'steelblue' reicht.
  • Ersetze die Standardpalette durch die neu erstellte.
  • Entferne die kontinuierliche Farbleisten-Legende neben der Heatmap.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# 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 bearbeiten und ausführen