彩色熊猫时间序列按列绘制

时间:2019-12-17 01:39:16

标签: python pandas plot

我有一个简单的Pandas数据框,我想为其创建散点图并通过列cat为每个点着色。我怎样才能做到这一点?我的x轴是datetime64 dtype,所以我不能使用Pandas的scatter函数。

df = pd.DataFrame({
    'a': [1, 2, 3, 2.5, 1.2, 3.7],
    'b': ['2019-01-01', '2019-01-02', '2019-01-03', '2019-01-04', '2019-01-05', '2019-01-06'],
    'cat': ['cat1', 'cat1', 'cat2', 'cat2', 'cat3', 'cat3']
})
df['b'] = pd.to_datetime(df['b'])
# This plots but doesn't color by 'cat'
df.plot(x='b', y='a', style='o')

enter image description here

1 个答案:

答案 0 :(得分:1)

您可以使用Seaborn轻松做到这一点:

import seaborn as sns
sns.scatterplot(data=df, x='b', y='a', hue='cat')

结果:

Scatterplot