Python 如何用不同的颜色绘制线条

Python 如何用不同的颜色绘制线条,python,pandas,matplotlib,Python,Pandas,Matplotlib,我创建了一个策略,其中我有一个表示时间序列的数据框(pandas)(x是日期,y是数字)。我还有一系列的类,对时间序列中的每个点进行分类。我想知道如何在matplotlib中使用我的类数组根据每个点的颜色绘制线(或点散射)。对于示例: 我的数据帧 print(df) date value 2018-07-04 1.25 2018-07-05 2.15 2018-07-06 1.75 2018-07-07 1.95 ... print(classes

我创建了一个策略,其中我有一个表示时间序列的
数据框(pandas)(x是
日期,y是
数字)。我还有一系列的类,对时间序列中的每个点进行分类。我想知道如何在matplotlib中使用我的类数组根据每个点的颜色绘制线(或点散射)。对于示例:

我的数据帧

print(df)

date          value
2018-07-04    1.25
2018-07-05    2.15
2018-07-06    1.75
2018-07-07    1.95
...


print(classes)
[0, 1, 2, 0, 1, 1, 2, 1, ... ]
我尝试过使用,但仅限于单一颜色。我如何定制它(它可能是一个散点)来绘制像下面这样的图片


谢谢大家!

通常的想法是将绘图网格化为细粒线/点,然后进行绘图。对于散布:

import seaborn as sns

df['class'] = classes

s = df.set_index(['date']).asfreq('T');
s['value'] = s['value'].interpolate()
s['class'] = s['class'].ffill().astype(int).astype('category')
s = s.reset_index()


sns.scatterplot(x='date',y='value',hue='class', data=s)

对于线图,可能会有所帮助。

Hi Quang,谢谢您的帖子。让我问一下,
sns
对象是什么?它对于绘制长格式数据非常方便。