是否可以使用R将日期添加到ggplot图形上(图形数据基于该图形)?我有一段代码可以在一周内选择最多的日常数据,然后再绘制出来。示例数据框(from a previous answer)如下所示:将数据帧中的日期输出到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)
任何人都可以告诉我我做错了什么?
不知道这是否是你想要的,但你为什么不只是传递'$ DF向Date'的格式为你传递'D',如:'格式( as.Date(df $ Date,“%d /%m /%Y”),“%A,%b%d,%Y”)' – Arun 2013-02-19 12:33:04