geom_vline在ggplot2

时间:2017-07-19 17:26:56

标签: r ggplot2

希望在vline中显示表示今天日期的ggplot2

这就是我正在尝试的。它不会破坏视觉效果,但也不起作用。

geom_vline(aes(xintercept = as.integer(dataset$Today)), col = "black") +

在我的数据集(.xls)中我有一个名为“今天”的列,其中我使用了函数=today()(它的工作原理为btw)所以我只是想抓住那个&将其显示为vline

作为旁注,这非常有效:

geom_vline(aes(xintercept = as.integer(as.POSIXct("2017-07-18"))), col = "black") +

这是整个shebang:

library(scales) #date time scales  
library(ggplot2) # Visualization  


#Convert timestamp to POSIXct.

dataset$From<-as.POSIXct(dataset$From,format="%Y-%m-%dT%H:%M")
dataset$To<-as.POSIXct(dataset$To,format="%Y-%m-%dT%H:%M")

#ggplot stuff

ggplot(dataset,aes(x=datetime_start, y=dataset$Product, color=Stage, order = - as.numeric(Stage))) +
scale_x_datetime(breaks = date_breaks("1 month"), labels=date_format("%b%y")) +
geom_segment(aes(x=From,xend=To,yend=dataset$Product),size=15) +

#Custom V Line

geom_vline(aes(xintercept = as.integer(as.POSIXct("2017-07-18"))), col = "black") +

#Custom Legend Ordering

scale_color_brewer(palette = "Set3", breaks=c("CPR","PPR","DPR", "VPR/IPR", "GA")) +

#Title

ggtitle("Product Phase Review Schedule") + xlab("") + ylab("") + theme_bw()

1 个答案:

答案 0 :(得分:0)

这对我有用:

geom_vline(aes(xintercept = as.numeric(as.POSIXct(Sys.Date()))), col = "black") +

as.integer也有效