在ggplot中标记起点和终点

Posted

技术标签:

【中文标题】在ggplot中标记起点和终点【英文标题】:Mark start point and end point in ggplot 【发布时间】:2019-08-27 13:15:42 【问题描述】:

我正在使用 R 和 ggplot2 库制作二维随机游走图。它有效,但我想在我的随机游走图中显示起点和终点在哪里。

我尝试创建另一个 geom_point 并将其附加到现有的 ggplot 但它不起作用。有什么建议?谢谢!

x = 0
y = 0
vec1 <- vector()
xcor <- vector()
ycor <- vector()
number = 1000
list_num = c(1,2,3,4)
move = sample(list_num, size = number, replace = TRUE)

for (i in 1:number) 
  if (move[i] == 1) 
    x = x + 1
  
  else if (move[i] == 2) 
    x = x - 1
  
  else if (move[i] == 3) 
    y = y + 1
  
  else if (move[i] == 4) 
    y = y - 1
  
  vec1 <- c(vec1, i)
  xcor <- c(xcor, x)
  ycor <- c(ycor, y)

 
df_randomwalk = data.frame(vec1, xcor, ycor)

ggplot(df_randomwalk, aes(x = xcor, y = ycor)) + 
  geom_point(alpha = 0.1, size = 0.3) + geom_path() + 
  theme_minimal() 

【问题讨论】:

【参考方案1】:

应该这样做。

start <- df_randomwalk %>% filter(vec1 == min(df_randomwalk$vec1))
end <- df_randomwalk %>% filter(vec1 == max(df_randomwalk$vec1))

ggplot(df_randomwalk, aes(x = xcor, y = ycor)) + 
  geom_point(alpha = 0.1, size = 0.3) + geom_path() + 
  geom_point(alpha = 0.1, size = 0.3) + 
  theme_minimal() +
  geom_point(start, mapping=aes(x=xcor,y=ycor), colour="red", size=1) +
  geom_point(end, mapping=aes(x=xcor,y=ycor), colour="blue", size=1)

【讨论】:

以上是关于在ggplot中标记起点和终点的主要内容,如果未能解决你的问题,请参考以下文章

标记流式视频node.js的起点和终点

百度地图为啥不能任意设置起点和终点

百度地图怎么设置起点

检查纬度和经度是不是在我的谷歌地图起点和终点范围内

百度地图_路线规划,起点终点标记弹窗显示信息

百度地图怎么设置起点和终点