gpt4 book ai didi

r - 使用 x 轴上的日期定位 geom_vline

转载 作者:行者123 更新时间:2023-12-03 22:28:03 25 4
gpt4 key购买 nike

我尝试在图表中包含一条垂直线,x 轴上有日期。线的位置应在某个日期之前确定。然而,我无法通过日期本身来控制位置,而只能通过数据集中日期的位置/行来控制。
由于其他行可能会在稍后的时间点进入数据集,因此我寻找使用日期而不是其位置的解决方案。

这里有一些虚拟数据来说明我的问题和方法:

library(ggplot2)
#Setting up of Dummy Data
Dummy_date<-seq(as.Date("2017-01-01"),as.Date("2017-06-01"),by="days")
Dummy_data<-seq(1:152)
Dummy_df<-as.data.frame(cbind(Dummy_date,Dummy_data))
names(Dummy_df[1])<-"Date"
names(Dummy_df[2])<-"Data"

#Format Dates
Dummy_df$Dummy_date<-as.POSIXct(Dummy_date)

#Does not work but is the desired approach
ggplot(Dummy_df)+
geom_point(mapping=aes(x=Dummy_date,y=Dummy_data))+
geom_vline(aes(xintercept=as.numeric(as.Date("2017-04-01"))),type=4,col="red")

#Works but I do not like the fixed position[91] in the dataset. Line 91 contains the relevant date
ggplot(Dummy_df)+
geom_point(mapping=aes(x=Dummy_date,y=Dummy_data))+
geom_vline(aes(xintercept=as.numeric(Dummy_date[91])),type=4,col="red")

提前致谢

最佳答案

不知道为什么 tbh,但类型转换 as.POSIXct而不是 as.Date得到你想要的:

library(ggplot2)

ggplot(Dummy_df) +
geom_point(aes(Dummy_date, Dummy_data)) +
geom_vline(aes(xintercept = as.integer(as.POSIXct("2017-04-01"))), col = "red")



PS,使用 linetype而不是 type

关于r - 使用 x 轴上的日期定位 geom_vline,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43661124/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com