使用geom_line或geom_path连接具有不同类别变量的点

时间:2019-01-03 15:16:21

标签: r ggplot2

我正在根据特定状态(类别变量:detType)绘制动物的运动图。但是,geom_line和geom_path都不连接不同状态之间的点。

例如

ggplot(data = filter(df, ID == 8), #just plotting 1 individual for example
       aes(recvLon, recvLat)) +
  geom_path(aes(colour=detType)) + 
  geom_point(aes(colour=detType))

example plot

我想要一条连接红色和最上方蓝色点的蓝色postDep线。

2 个答案:

答案 0 :(得分:0)

aes(colour=detType)中的参数geom_path表示detType的不同级别有不同的行。只需删除参数并使用geom_path()来绘制一条连接所有点的直线。

答案 1 :(得分:0)

如果我将dplyr :: lead()添加到geom_path中,这似乎有助于为行选择正确的颜色。

例如从上面

ggplot(data = filter(df, ID == 8),
       aes(recvLon, recvLat)) +
  geom_path(aes(colour=dplyr::lead(detType))) + 
  geom_point(aes(colour=detType))