我不能使用虚线在 seaborn 上绘制 2 个时间序列

I can't use dashed lines to draw 2 time series on seaborn

我遇到了一个没有找到答案的奇怪问题:

我想表示这个数据帧(这是一个时间序列):

ts_velo.head()

    type_velo   nombre
date        
2016-09-01  VAE     0.980769
2016-09-01  Vélos   11.865385
2016-10-01  VAE     0.826087
2016-10-01  Vélos   9.152174
2016-11-01  VAE     0.711538
(...)

我可以画这张图:

sns.lineplot(x=ts_velo.index, y='nombre', data=ts_velo, hue='type_velo')

但是我没有实现用虚线代替实线。

我尝试了一些在 Whosebug 上阅读的内容,例如:

sns.lineplot(x=ts_velo.index, y='nombre', data=ts_velo, 
                                    hue='type_velo', dashes=[(2, 2), (2, 2)])

sns.lineplot(x=ts_velo.index, y='nombre', data=ts_velo, 
                                    hue='type_velo', dashes=True)

sns.lineplot(x=ts_velo.index, y='nombre', data=ts_velo, 
                                    hue='type_velo', dashes='--')


sns.lineplot(x=ts_velo.index, y='nombre', data=ts_velo, 
                                    hue='type_velo', ls='--')

g = sns.lineplot(x=ts_velo.index, y='nombre', data=ts_velo, hue='type_velo')
g.lines[0].set_linestyle("--")

但没有任何效果。

为什么我会遇到这个问题?

您需要使用破折号样式。

sns.lineplot(x=ts_velo.index, 
             y='nombre', 
             data=ts_velo,
             hue='type_velo', 
             style='type_velo',
             dashes=[(2, 2), (2, 2)])