按列绘制时间序列的颜色

2022-09-28 22:04:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个简单的Pandas数据框,我想为它创建一个散点图,并用cat列为每个点上色。我该怎么做?我的x轴是datetime64数据类型,所以我不能使用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


Tags: to数据函数dataframepandasdfdatetimecatpd数据类型cat1scattercat2datetime64cat3
1条回答
网友
1楼 ·

您可以轻松使用Seaborn:

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

结果:

Scatterplot

热门问题