LoslegenKostenlos loslegen

Einen Plot als Legende verwenden

Eine interessante Fragestellung in den Daten zu Bauernmärkten ist die „Marktfreundlichkeit“ eines Bundesstaats – insbesondere die Ausreißer. Eine Möglichkeit, das zu betrachten, ist das Verhältnis von Bauernmärkten zu Bevölkerung nach Bundesstaat. Du könntest dir direkt das Verhältnis ansehen; ein Verhältnis verwirft jedoch die rohen Informationen über die Bevölkerungszahl und die Anzahl der Märkte eines Bundesstaats. Ein großer Staat mit einem hohen Verhältnis könnte spannender sein als ein kleiner.

Du kannst sowohl das Verhältnis als auch die Rohzahlen zeigen, indem du zwei Plots zeichnest: einen für das Verhältnis und einen Streudiagramm-Plot der Marktzahl gegen die Bevölkerung. Um deine nun dichte Visualisierung zu vereinfachen, kannst du den Balkenplot als Legende verwenden und interessante Bundesstaaten hervorheben, indem du die Farben ihrer Balken und Scatter-Punkte aufeinander abstimmst.

Diese Übung ist Teil des Kurses

So verbesserst du deine Datenvisualisierungen in Python

Kurs anzeigen

Anleitung zur Übung

  • Richte zwei Plots nebeneinander mit plt.subplots() ein.
  • Mappe die Spalte is_selected auf die Farbe sowohl des Balken- als auch des Streudiagramms.
  • Deaktiviere dodge im Balkenplot, damit die Balken volle Höhe haben.
  • Entferne die Legenden in beiden Plots.

Interaktive Übung

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

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