R-ggplot2中的里程碑图

R-ggplot2中的里程碑图,r,ggplot2,R,Ggplot2,我试图在ggplot2中创建一个项目里程碑图,它由几个层组成,包括一个显示活动之间距离的条形图、一个显示活动名称的点和一个显示活动开始日期的形状。下面是一个例子 条形图中的距离是根据数据中的DayDiff字段计算的,该字段是开始日期和结束日期之间的天数差 样本数据 df我没有尝试使用您创建的DayDiff列,只是为start date创建了一个新列,如下所示。我这样做是为了显示并确保使用的x轴值是日期值。另外,我认为做DayDiff没有用,因为所有活动的开始日期都是前一个活动结束后的第二天 d

我试图在ggplot2中创建一个项目里程碑图,它由几个层组成,包括一个显示活动之间距离的条形图、一个显示活动名称的点和一个显示活动开始日期的形状。下面是一个例子

条形图中的距离是根据数据中的DayDiff字段计算的,该字段是开始日期和结束日期之间的天数差

样本数据


df我没有尝试使用您创建的DayDiff列,只是为start date创建了一个新列,如下所示。我这样做是为了显示并确保使用的x轴值是日期值。另外,我认为做DayDiff没有用,因为所有活动的开始日期都是前一个活动结束后的第二天

df$DateS_new <- as.Date(df$Start, format = format='%m/%d/%Y')

希望这是有帮助的

df$DateS_new <- as.Date(df$Start, format = format='%m/%d/%Y')
ggplot(df, aes(DateS_new,y=(rep(0.3,4)))) + geom_rect(aes(ymin=0.302, ymax=0.298, xmin=as.Date("1989-11-01"),xmax=as.Date("1991-11-01"))) + geom_point(shape=21,size=10,fill="red") + geom_point(aes(DateS_new,y=rep(0.28,4)),shape=25,size=3) + annotate("text", x=df$DateS_new, y=0.32, label=df$Activity) + scale_x_date(name=NULL,breaks=df$DateS_new, date_labels = "%d-%m-%Y") + theme_bw() + scale_y_continuous(name = NULL) + theme(axis.text.y = element_blank(), axis.ticks.y = element_blank())