2

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

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

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')

但我没有实现使用虚线而不是实线。

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

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("--")

但没有任何效果。

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

4

1 回答 1

1

您需要为破折号使用样式。

sns.lineplot(x=ts_velo.index, 
             y='nombre', 
             data=ts_velo,
             hue='type_velo', 
             style='type_velo',
             dashes=[(2, 2), (2, 2)])
于 2020-02-23T00:16:48.617 回答