python - 我不能使用虚线在 seaborn 上绘制 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("--")
但没有任何效果。
为什么我会遇到这个问题?
解决方案
您需要为破折号使用样式。
sns.lineplot(x=ts_velo.index,
y='nombre',
data=ts_velo,
hue='type_velo',
style='type_velo',
dashes=[(2, 2), (2, 2)])
推荐阅读
- ldap - 为什么不在 LDAP 模型中使用随机 OID?
- java - 修改代码以通过套接字发送多个文件
- flutter - 更新到 Flutter 1.20 后 Flutter 热重启需要很长时间
- c++ - 经典数组与 std::array
- swift - 如何在 SwiftUI 的 ForEach 循环中增加状态?
- python - AttributeError:模块“预处理器”没有属性“干净”
- javascript - HTML/CSS/JS:如何制作一个平滑过渡的幻灯片,其中一个 div 淡出以显示下一个 div?
- python - BeautifulSoup find_all 返回空字符串列表
- java - 为什么调用重写方法的超类引用看起来是多态的,但如果它采用重写的成员变量则不是?
- wpf - 如何在调试日志中找到触发 System.Windows.Data 错误 4 的绑定