固定一个轴时如何在两点之间画一条线(时间序列)

Jea*_*n_N 1 r ggplot2

我试图使用ggplot2在两个变量的每个点之间绘制一条直线,这两个变量是同时观察到的.我查看了geom_segment,但我很难在我的案例中使其工作.

这是我最小的工作示例和我想要实现的图画(我缺少的部分是蓝色).

我将不胜感激任何帮助!

set.seed(1234)
y <- rnorm(10,0,0.01)
Date <- seq(as.Date("2000/1/1"), by = "day", length.out = 10)

example_df <- tibble(Date,y) %>% mutate(avg = mean(y))
ggplot(example_df, mapping = aes(x = Date)) + geom_point(mapping = aes(y = y)) +
  geom_line(aes(y = y)) + 
  geom_line(aes(y = avg), col = "red")
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

bou*_*all 5

geom_segment 将工作:

ggplot(example_df, aes(x = Date)) + 
    geom_point(aes(y = y)) +
    geom_line(aes(y = y)) + 
    geom_line(aes(y = avg), col = "red")+
    geom_segment(aes(xend = Date, y = y, yend = avg), col = 'blue')
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

  • 太棒了,通过查看geom_segment的帮助,我永远不会明白如何做到这一点.我以为我必须提供x1(这里是日期),xend和y以及总是在2个变量的坐标之间.现在我明白了,非常感谢你. (3认同)