是否可以使用 R 将日期添加到 ggplot 图表(图表数据基于该图表)?我有代码可以在一周内选择最多的日常数据,然后将其绘制出来。示例数据框(来自先前的答案)如下所示:
set.seed(1234)
df <- data.frame(Date=seq(as.POSIXct("05:00", format="%H:%M"),
as.POSIXct("23:00", format="%H:%M"), by="hours"))
df$Counts <- sample(19)
df <- df[-c(4,7,17,18),]
# generate the groups automatically and plot
idx <- c(1, diff(df$Date))
i2 <- c(1,which(idx != 1), nrow(df)+1)
df$grp <- rep(1:length(diff(i2)), diff(i2))
g <- ggplot(df, aes(x=Date, y=Counts)) + geom_line(aes(group = grp)) +
geom_point()
g
我知道我可以使用以下代码让 R 计算出我的数据是一周中的哪一天:
d <- as.Date("19/02/2013","%d/%m/%Y")
format(d, "%A, %b %d, %Y")
但我显然必须手动输入日期才能正常工作。
是否可以让 R 读取数据框并计算出数据所基于的星期几(只有一天),然后将其添加为图表右上角的图例?理想情况下,格式应包括日期和日期(例如,2013 年 2 月 19 日,星期二)。
编辑
我想将日期添加为图表中的文本。我可以为此使用 geom_text 吗?这目前不起作用,但到目前为止我已经得到:
g + geom_text(aes(x=as.POSIXct("18:00:00", format="%H:%M:%S"), y=1500), label=date_format("%A, %b %d, %Y")", size=2)
谁能告诉我我做错了什么?