使用以下数据框和向量:
df<-data.frame(time=as.POSIXct(c("2013-04-23 10:00:00","2013-04-23 12:08:00")),
info=c("point","point"),
bin=c("bin length","bin length"),
upper=c(3.7,1.54),
lower=c(3.11,1.13),rate=c(3.43,1.33))
deltaTS=df$time[2]-df$time[1]
data.frame可以使用以下代码进行图表处理:
ggplot(data=df,aes(x=time+deltaTS*.97,y=rate))+
geom_pointrange(aes(ymin=lower,ymax=upper,x=time+deltaTS*.97,position="identity"),color="white",show_guide=T)+
geom_point(size=7,color="white",aes(color=info,fill=info,group=info))+
geom_point(size=6,color="tomato",aes(color=info,fill=info,group=info))+
geom_segment(aes(x=time, y=0, xend=time+(deltaTS*.96), yend=0,fill=bin,group=bin), alpha=0.7,color="black",size=3,show_guide=F)+
geom_segment(aes(x=time+(deltaTS*.01), y=0, xend=time+(deltaTS*.95), yend=0,fill=bin,group=bin), alpha=0.7,color="tomato",size=2,show_guide=T)+
theme(legend.title = element_text(size=15),
legend.text = element_text(size = 15),
plot.title = element_text(size=20),
strip.text = element_text(size=18),
axis.title.x = element_text(size=18),
axis.title.y = element_text(size=19),
axis.text.x = element_text(size = 15, colour = 'black', angle = 0),
axis.text.y = element_text(size = 15, colour = 'black', angle = 0),
legend.position = "right",
panel.background = element_rect(fill = "#333333"),
panel.grid.major = element_line(colour = "#454545"),
panel.grid.minor = element_line(colour = "#454545"))+
ylim(0,4)+
scale_x_datetime(lim = c(as.POSIXct("2013-04-23 10:00:00", format="%Y-%m-%d %H:%M:%S"),as.POSIXct("2013-04-23 14:30:00", format="%Y-%m-%d %H:%M:%S")))+
xlab("time")+
ylab("rate")+ ggtitle("Point, Bin Length and 95% CI")
图表的图例可以改进。具体来说,geom_segment()
和geom_point()
图例中的元素重叠,而geom_pointrange()
的元素均未显示:
可以&#34;指向&#34;和&#34; bin length&#34;图标被分开,以便在添加&#34;置信区间时不会重叠&#34;对传说?更具体地说,图例中的geom_segment()
和geom_point()
元素不应重叠。 geom_pointrange()
元素也应该显示在图例中。谢谢你的帮助!
编辑2013年9月16日:这是一张包含我想创建的传奇故事的图表: