Matplotlib Scatterplot根据类别更改点的颜色

时间:2018-03-14 17:11:21

标签: python pandas dataframe matplotlib scatter-plot

我试图在数据框中绘制计数和日期的散点图,如下所示:

                             Count
Date       Category               
08/03/2018  football       1
12/03/2018  rugby          1
13/02/2018  rugby          1
            golf           2
14/02/2018  football       1
            golf           1
19/02/2018  football       1
            fishing        1

我使用以下方法将其变为索引:

df = df.reset_index()

我已将日期转换为日期时间:

使用以下代码生成图表:

label = df['Category']

plt.scatter(df['Date'], df['Count'], label=label)

如何在不使用"硬编码"?

的情况下为不同类别的每个点赋予颜色?

1 个答案:

答案 0 :(得分:1)

使用以下REF

解决了这个问题
Date = df['Date']
Count = df['Count']
groups = df.groupby('Category')
fig, ax = plt.subplots()


for name, group in groups:
    ax.plot(group.Date, group.Count, marker='o', linestyle='', ms=10,
label=name)
ax.legend(numpoints=1)