2

にポイントを追加したい場合、私はこれに慣れています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
4

1 に答える 1

7

数値に変換すると問題が解決します。

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"
于 2013-05-02T17:08:30.143 に答える