如何在R上的geom_uuText函数上指定x日期坐标

如何在R上的geom_uuText函数上指定x日期坐标,r,ggplot2,R,Ggplot2,我想把一个文本放在直方图中的一个特殊点上 ggplot(ECOBICI2) + aes(x = Fecha_Arribo) + geom_histogram(binwidth = 1) + geom_text(aes(x = 2020-03-24), y = 12000, label = "Inicio de cierre de actividades") + labs(x = "Dia", y = "Viajes Por Día&quo

我想把一个文本放在直方图中的一个特殊点上

ggplot(ECOBICI2) + 
aes(x = Fecha_Arribo) + 
geom_histogram(binwidth = 1) +
geom_text(aes(x = 2020-03-24), y = 12000, label = "Inicio de cierre de actividades")   +
labs(x = "Dia", y = "Viajes Por Día") +
theme_classic()
它给了我这个错误 错误:无效输入:date_trans仅适用于类date的对象

费查乌·阿里博是日期

我试着写一个as.Date()

然后它给了我这个错误 图表中的错误(x):
字符串不是标准的明确格式

这里有两个错误。首先,
as.Date
format
参数与您提供的格式不匹配;您告诉它解析一个用正斜杠“/”分隔的日期,但您提供的日期对象是用连字符“-”分隔的。其次,您将日期作为变量传递(带有一个不可能的名称,即2020-03-24),而不是作为字符串传递

因此,将日期作为字符串传递,并向
as.date
提供正确的
格式
参数,例如:

as.Date('2020-03-24', '%Y-%m-%d')

正如@heds1所提到的,您必须使用引号和年、月、日的结构来指定数据的正确格式,以便
As.Date()
函数可以将其识别为日期。另一点是,必须在
aes()
选项中为
geom_text()
指定
x
y
标签
值。我使用一些虚拟数据为您复制了一个示例。当然,在实际数据中,您可以更改
geom_text()
中的值以获得所需的绘图。代码如下:

library(ggplot2)
#Data
df <- data.frame(Fecha_Arribo=sample(seq(as.Date('2020-01-01'),
                                         as.Date('2020-10-01'),
                                         by='1 day'),500,replace = T))
输出:

library(ggplot2)
#Data
df <- data.frame(Fecha_Arribo=sample(seq(as.Date('2020-01-01'),
                                         as.Date('2020-10-01'),
                                         by='1 day'),500,replace = T))
#Plot
ggplot(df,aes(x=Fecha_Arribo))+
  geom_histogram(binwidth = 1) +
  geom_text(aes(x = as.Date('2020-03-24'),y=8,label = "Inicio de cierre de actividades"))+
  geom_vline(xintercept = as.Date('2020-03-24'),lty='dashed')+
  labs(x = "Dia", y = "Viajes Por Día") +
  theme_classic()