R 使用引导线标记ggplot中geom_smooth()线的端点

R 使用引导线标记ggplot中geom_smooth()线的端点,r,ggplot2,R,Ggplot2,我正试图找出如何在ggplot中标记geom_smooth()线的末端,如下图所示(即“以色列”、“阿拉伯联合酋长国”等标签),并绘制引导线(例如,从“美国”标签到相应绘图线的细灰线),可能仅在必要时。(那里的线条不是来自geom_smooth(),但希望过程是一样的。)这将被用来代替标准图例。我看到的答案是针对第一部分的,但不是指南部分。任何帮助都将不胜感激 我不知道在R中有什么方法可以得到那些对齐的角线,但这里有一种方法使用ggrepel::geom_text_repel: library(

我正试图找出如何在ggplot中标记
geom_smooth()
线的末端,如下图所示(即“以色列”、“阿拉伯联合酋长国”等标签),并绘制引导线(例如,从“美国”标签到相应绘图线的细灰线),可能仅在必要时。(那里的线条不是来自
geom_smooth()
,但希望过程是一样的。)这将被用来代替标准图例。我看到的答案是针对第一部分的,但不是指南部分。任何帮助都将不胜感激


我不知道在R中有什么方法可以得到那些对齐的角线,但这里有一种方法使用
ggrepel::geom_text_repel

library(tidyverse) # using ggplot2 and dplyr
gapminder::gapminder %>% 
  filter(continent == "Americas") %>%
  ggplot(data = ., aes(year, lifeExp, color = country, label = country)) +
  geom_line() +
  ggrepel::geom_text_repel(data = . %>% filter(year == 2007), size = 2.5, 
                           segment.alpha = 0.4, box.padding = unit(0.01, "cm"),
                           hjust = 0, nudge_x = 20, direction = "y") +
  guides(color = FALSE) +
  coord_cartesian(clip = "off", xlim = c(NA, 2040))

完美!非常感谢。