需要了解如何将数据分解为同一图形上的2条单独的线

时间:2019-04-28 23:58:45

标签: python pandas dataframe matplotlib

screenshot

我有类似上面的数据。

我已经成功绘制出多年来使用以下代码得出的自杀总数10万人口的总数:

df2 = df2[df2.year != 2016]

fig, ax = plt.subplots(figsize=(15,7))
df2.groupby(['year'])['suicides/100k pop'].sum().plot(marker='o')

但是我想要一个图表,该图表在同一时间范围内还显示2条不同的线,一条代表男性,一条代表女性。我该怎么办?

1 个答案:

答案 0 :(得分:0)

在应用分组依据之前,先对性别数据进行分组,然后针对每种性别作图。您还可以在迭代过程中更改标记(或其他任何选项)。

df2 = df2[df2.year != 2016]

fig, ax = plt.subplots(figsize=(15,7))

genders = ('male', 'female')
markers = ('o', 'x')
colors = ('b', 'r')

for b, m, g in zip(colors, markers, genders):
    df2[df2.sex.eq(g)].groupby(['year'])['suicides/100k pop'].sum().plot(marker=m, ax=ax)
ax.legend(genders)