当我尝试使用牛皮画将条形图和点图拼接在一起时,我遇到了错误。如果有要求,我可以尝试将一个工作示例放在一起,但我想我首先要看看是否有人能发现一个明显的问题。
条形图的代码和结果图如下:
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))
Point plot 我试着将两者拼接在一起:
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)
不幸的是,我收到一个关于“未知常量”的错误,我甚至无法很好地查看错误,因为它后面有大量的输出会超出允许的控制台空间。
任何想法都会受到赞赏。
答案 0 :(得分:0)
好吧,我开始生成一个可重现的示例,并在我的脚本中发现错误:我有一个&#34; .0.75&#34;因为身高&#39;在第一个'draw_plot&#39;命令。
猜猜我只是需要停止懒惰,并在发布之前完成生成可重现示例的过程。这可能是大多数这类错误被捕获的步骤。很抱歉浪费你的注意力和时间。