如果我想向 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/