首页 > 解决方案 > 在 seaborn 线图上为每个观察添加一个标记

问题描述

我有一个简单的数据框,我想用 seaborn/matplotlib 绘制:

     STA#  RUN# BIB#            COURSE INTER 1  FINISH       DAG
64     22     1   12  STRAIGHT-GLIDING   19,01   19.37  TRENING1
72    148     8   12          COURSE 2   19,08   19.44  TRENING1
74    204    11   12          COURSE 2   19,10   19.47  TRENING1
76    253    14   12          COURSE 2   19,13   19.49  TRENING1
79    186    10   12          COURSE 2   19,13   19.50  TRENING1
294   277    13   12          COURSE 1   18,33   18.68  TRENING2
297   283    14   12          COURSE 1   18,35   18.70  TRENING2
299   165     7   12          COURSE 1   18,37   18.71  TRENING2
300   243    11   12          COURSE 1   18,38   18.73  TRENING2
304   262    12   12          COURSE 1   18,42   18.76  TRENING2
308   102     4   12          COURSE 1   18,44   18.78  TRENING2


我设法使用 seaborn 的以下代码创建了一个线图:

g = sns.FacetGrid(df, hue="COURSE", col="DAG", palette="Set2")
g = g.map(sns.lineplot, "RUN#", "FINISH")
g.add_legend()

看起来不错,但我想要一个点来表示我除了线之外的每个观察结果。关于如何完成这项任务的任何想法?

标签: seaborn

解决方案


添加marker='o'到调用lineplot

g = sns.FacetGrid(df, hue="COURSE", col="DAG", palette="Set2")
g = g.map(sns.lineplot, "RUN#", "FINISH", marker='o')
g.add_legend()

推荐阅读