R 我想将其他数据点添加到此绘图

R 我想将其他数据点添加到此绘图,r,ggplot2,R,Ggplot2,我有以下数据: d <- data.frame(date=as.Date(c("1971-09-01", "1991-12-01", "1994-12-01", "2000-01-01", "2002-08-01", "2005-08-01")), event=c("birth", "entered college", "BS",

我有以下数据:

 d <- data.frame(date=as.Date(c("1971-09-01", "1991-12-01", "1994-12-01",       
                                "2000-01-01", "2002-08-01", "2005-08-01")), 
                 event=c("birth", "entered college", "BS", 
                         "entered grad school", "MS", "PhD"), 
                 big_events=c(" ", "first bf", "married", 
                              " ", " ", "kids"))

 ggplot() +
   scale_x_date(limits=as.Date(c("1970-1-1", "2010-12-31"))) +
   scale_y_continuous(name="", breaks=NULL, limits=c(0,1)) +
   geom_vline(data=d, mapping=aes(xintercept=as.numeric(date)),    
   color="blue") +
   geom_text(data=d, mapping=aes(x=date, y=0, label=event), size=4,     
   angle=90, vjust=-0.4, hjust=0)

d添加
geom\u点

d <- data.frame(date=as.Date(c("1971-09-01", "1991-12-01", "1994-12-01", 
                               "2000-01-01", "2002-08-01", "2005-08-01")), 
                event=c("birth", "entered college", "BS", 
                        "entered grad school", "MS",  "PhD"), 
                big_events=c(" ", "first bf", "married", " ", 
                             " ", "kids"))
# Some random dates and heights on the y-axis
b <- data.frame(date=as.Date(c("1972-09-01", "1992-12-01", "1992-12-01", 
                               "2004-01-01", "2003-08-01", "2002-08-01")),
                height=c(0.6, 0.8, 0.3, 0.2, 0.1, 0.4))

ggplot() +
  scale_x_date(limits=as.Date(c("1970-1-1", "2010-12-31"))) +
  scale_y_continuous(name="", breaks=NULL, limits=c(0,1)) +
  geom_vline(data=d, mapping=aes(xintercept=as.numeric(date)),    
             color="blue") +
  geom_text(data=d, mapping=aes(x=date, y=0, label=event), size=4,     
            angle=90, vjust=-0.4, hjust=0) + 
  # Add this line with your new data and specify the x,y data
  geom_point(data=b, aes(x=date, y=height))

d您已将y范围定义为0-1。只需在y轴上添加您希望将点添加到数据的点,然后添加geom_点。考虑到你在大型活动中只想要点,这就可以了:

d=data.frame(date=as.Date(c("1971-09-01", "1991-12-01", "1994-12-01",       
                            "2000-01-01", "2002-08-01", "2005-08-01")), 

             event=c("birth", "entered college", "BS", "entered grad school", "MS",    
                     "PhD"), 

big_events=c(" ", "first bf", "married", " ", " ",    
             "kids"),
y_dot = .5)


ggplot() +
  scale_x_date(limits=as.Date(c("1970-1-1", "2010-12-31"))) +
  scale_y_continuous(name="", breaks=NULL, limits=c(0,1)) +
geom_vline(data=d, mapping=aes(xintercept=as.numeric(date)),    
            color="blue") +
geom_text(data=d, mapping=aes(x=date, y=0, label=event), size=4,     
          angle=90, vjust=-0.4, hjust=0) +
geom_point(data = d[d$big_events != ' ', ], aes(y = y_dot, x = date))

在绘图中需要什么类型的数据需要定义y轴才能绘制点。我可以使用.factor(大事件)来定义y轴吗?