r - 如何将带有新数据的图层添加到带有 POSIX 轴的 ggplot 中?

标签 r ggplot2

如果我想向 ggplot 添加一个点,我已经习惯了这个,它工作得很好:

ggplot(mtcars, aes(x = disp, y = mpg)) + geom_point() +
    geom_point(x = 200, y = 20, size = 5, color = "blue")

但是,如果涉及 POSIX 日期,我会遇到问题:

dat_1 <- data.frame(time = as.POSIXct(c("2010-01-01", "2010-02-01", "2010-03-01")),
                     y_1 = c(-1, 0, 1))

当然,基本情节是可行的

(my_plot <- ggplot(dat_1, aes(x = time, y = y_1)) +
    geom_point())

但又加了一层

my_plot + geom_point(x = as.POSIXct("2010-01-01"),
    y = 0, size = 5, color = "blue")

返回错误

Error in Ops.POSIXt((x - from[1]), diff(from)) : 
  '/' not defined for "POSIXt" objects

最佳答案

转换为数字解决了这个问题:

my_plot + geom_point(x = as.numeric(as.POSIXct("2010-01-01")),
    y = 0, size = 5, color = "blue")

但如果映射在aes 包装器中则没有必要

point_data <- data.frame(x = as.POSIXct("2010-01-01"), y = 0)
my_plot + geom_point(aes(x = x, y = y), data = point_data,
                     size = 5, color = "blue"

关于r - 如何将带有新数据的图层添加到带有 POSIX 轴的 ggplot 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16343823/

相关文章:

r - 创建一个绘制绘图并保存的函数

r - 更改ggplot2中轴文本的字体大小和方向

r - ggplot2:facets:不同的轴限制和自由空间

r - 如何使用注释在ggplot2中绘制箭头

r - 导入不带千位分隔符的 csv 并将因子转换为数字,而不会丢失小数点分隔符

r - 如何根据有限列的选定变量对数据框进行子集化?

R - 大数据 - 向量超出向量长度限制

在 Shiny 上多个场景的 RSelenium 并发用户

r - 在 R 中求值期间会发生什么?

r - ggplot2 - 手动指定箱线图分面标签作为符号/数学表达式