import matplotlib.pyplot as plt
import seaborn as sns
rankings_by_age = star_wars.groupby("Age").agg(np.mean).iloc[:,8:]
age_first = rankings_by_age.iloc[0, :].values
age_second = rankings_by_age.iloc[1, :].values
age_third = rankings_by_age.iloc[2, :].values
age_fourth = rankings_by_age.iloc[3, :].values
fig, ax = plt.subplots(figsize=(12, 9))
ind = np.arange(6)
width = 0.2
rects_1 = ax.bar(ind, age_first, width, color=(114/255,158/255,206/255),
alpha=.8)
rects_2 = ax.bar(ind+width, age_second, width, color=
(255/255,158/255,74/255), alpha=.8)
rects_3 = ax.bar(ind+2*width, age_third, width, color=
(103/255,191/255,92/255), alpha=.8)
rects_4 = ax.bar(ind+3*width, age_fourth, width, color=
(237/255,102/255,93/255), alpha=.8)
ax.set_title("Star Wars Film Rankings by Age")
ax.set_ylabel("Ranking")
ax.set_xticks(ind)
ax.set_xticklabels(titles, rotation=45)
ax.tick_params(top='off', right='off', left='off', bottom='off')
ax.spines['top'].set_visible(False)
ax.spines['right'].set_visible(False)
ax.legend((rects_1[0], rects_2[0], rects_3[0], rects_4[0]), ('18-29', '30-
44', '45-60', '> 60'), title="Age")
plt.show()
Wie plane ich dies mit Seabohnen?
Ich möchte dieses Grundstück mit Seaborn replizieren, aber ich bin nicht sicher, wie Plotten mehrere Balken für jede Kategorie zu gehen. Ich verstehe, wie man es mit einer Altersgruppe gleichzeitig macht, aber es scheint schwierig, mehr als eine Bar pro Altersgruppe zu bekommen. Jede Hilfe wäre willkommen.
Sie werden bessere Antworten, wenn man (1) die besten Arbeits Seaborn Code zeigen, und (2) zeigen Sie Ihren besten gescheiterten Versuch an mehreren Bars zu tun. Das reduziert die Korrekturen auf eine oder zwei Zeilen. – Prune
Die Frage ist unklar. Der Code aus der Frage (abgesehen davon, dass er nicht reproduzierbar ist, siehe [mcve]) liefert bereits das gewünschte Ergebnis. Also, was genau bedeutet hier "Seabohnen benutzen"? – ImportanceOfBeingErnest
Auch diese Ranglisten sind schrecklich! – mwaskom