Den Hintergrund aufräumen
Bei der Untersuchung von Mustern auf Ebene der Bundesstaaten zu Waren, die auf Wochenmärkten verkauft werden, sind dir ein paar Staaten besonders aufgefallen. North Dakota und New Mexico lagen regelmäßig am unteren Ende der Staaten, was den Anteil der Wochenmärkte betrifft, die eine bestimmte Ware verkaufen. Vermont hingegen war immer ganz vorne mit dabei. Du möchtest die allgemeinen Muster der Warenverkäufe nach Bundesstaat zeigen und gleichzeitig die Staaten hervorheben, die du interessant fandst.
Du erstellst ein Streudiagramm der verkauften Waren über den Anteil der Märkte, die diese Ware in einem Staat verkaufen. Um die interessanten Staaten hervorzuheben, zeichnest du eine Linie zwischen den Punkten jedes dieser Staaten. Für ein aufgeräumtes, minimalistisches Diagramm reduzierst du den Hintergrund auf ein einfaches Set an orientierenden Gittern.
Diese Übung ist Teil des Kurses
So verbesserst du deine Datenvisualisierungen in Python
Anleitung zur Übung
- Setze den Hintergrund des Plots auf weiß mit Gittern.
- Kodieren die x- und y-Achsen der Scatter- und Liniendiagramme mit der jeweils verkauften
'good'und'prop selling'. - Entferne alle Rahmenlinien aus dem Plot. Denk daran: Standardmäßig entfernt
sns.despine()nur die oberen und rechten Rahmenlinien (Spines)!
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# Set background to white with grid
sns.set_style('____')
plt.scatter('____','____', marker = '_', alpha = 0.7, data = goods_by_state)
# Draw lines across goods for highlighted states
highlighted = goods_by_state.query("state in ['New Mexico','North Dakota','Vermont']")
sns.lineplot('____','____', 'state', data = highlighted, legend = False)
# Draw state name at end of lines
last_rows = highlighted.groupby('state', as_index = False).agg('first')
for _,row in last_rows.iterrows():
plt.annotate(row['state'], (row['good'], row['prop selling']),
ha = 'right', xytext = (5,0), textcoords = 'offset pixels')
# Remove all borders
sns.____(____ = ____, ____ = ____)
plt.show()