-1

当我尝试使用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)

不幸的是,我收到一个关于“未知常量”的错误,我什至无法很好地查看该错误,因为它后面跟着大量的输出,使允许的控制台空间超载。

任何想法,将不胜感激。

4

1 回答 1

0

好吧,我开始生成可重现示例的过程,并在我的脚本中发现了错误:在第一个“draw_plot”命令中,“height”有一个“.0.75”。

猜猜我只需要停止懒惰并在发布之前完成生成可重现示例的过程。这可能是大多数此类错误被捕获的步骤。很抱歉浪费您的注意力和时间。

于 2016-10-21T16:31:02.643 回答