当我尝试使用cowplot 将条形图和点图拼接在一起时遇到错误。如果需要,我可以尝试整理一个工作示例,但我想我首先要看看是否有人能发现一个明显的问题。
条形图的代码和结果图如下:
dodge=position_dodge(width=0.9)
pbar <- ggplot(data = dat,aes(x=npnts,y=power,fill=PrpSurvPerYr)) +
geom_bar(aes(fill=PrpSurvPerYr),stat="identity",colour="black",position=dodge) +
geom_hline(yintercept=80,linetype="dotted",size=1) +
ylab("Power") + xlab("Number of points per transect") +
scale_fill_manual(values = c("white","gray","black")) +
scale_y_continuous(breaks=seq(0,100,by=20)) +
theme(axis.text.x=element_text(size=20)) +
theme(axis.text.y=element_text(size=20)) +
theme(axis.title.x=element_text(size=30)) +
theme(axis.title.y=element_text(size=30)) +
geom_text(aes(label=ntrns),vjust=-0.3,size=8,position=dodge)+
labs(fill="% transects \nsurveyed \nper year") +
theme(legend.title=element_text(size=20)) +
theme(legend.text=element_text(size=18))
点图的代码和结果图如下:
ptrd <- ggplot(data = dat.plt,aes(x=X,y=med)) +
geom_point(size=3,alpha=0.3) +
geom_errorbar(aes(ymin=lo,ymax=hi),width=0.003,alpha=0.3) +
geom_hline(yintercept=0.98,linetype="dotted") +
scale_y_continuous(breaks=c(0.98)) +
scale_x_continuous(breaks=c()) +
ylab(expression(hat(lambda)[psi])) + xlab(NULL) +
theme(axis.text.x=element_blank()) +
theme(axis.title.x=element_blank()) +
theme(axis.title.y=element_text(size=35)) +
theme(axis.text.y=element_text(size=26))
点图 我试图将两者与以下内容缝合在一起:
p <- ggdraw() +
draw_plot(pbar, x = 0, y = 0, width = 1, height = .0.75) +
draw_plot(ptrd, x = 0, y = 0.75, width = 1, height = .25)
不幸的是,我收到一个关于“未知常量”的错误,我什至无法很好地查看该错误,因为它后面跟着大量的输出,使允许的控制台空间超载。
任何想法,将不胜感激。