已解决-请务必发送列表进行申请!谢谢Baptiste,您再一次摇滚!
有关此问题,已经问了多个问题,这似乎是公认的answer from Baptiste。
当我使用该答案中提供的功能时:
justify <- function(x, hjust="center", vjust="center", draw=TRUE){
w <- sum(x$widths)
h <- sum(x$heights)
xj <- switch(hjust,
center = 0.5,
left = 0.5*w,
right=(unit(1,"npc") - 0.5*w))
yj <- switch(vjust,
center = 0.5,
bottom = 0.5*h,
top=(unit(1,"npc") - 0.5*h))
x$vp <- viewport(x=xj, y=yj)
if(draw) grid.draw(x)
return(x)
}
tgt <- lapply(myplot, justify, vjust="top", draw=FALSE)
我收到以下错误:
5.stop("both operands must be units")
4.Ops.unit(unit(1, "npc"), 0.5 * h)
3.FUN(X[[i]], ...)
2.lapply(myplot, justify, vjust = "top", draw = FALSE)
关于如何解决此问题的想法?我怀疑我正在使用更新的“单元”程序包,因为大多数接受此答案的人都是2年前才这样做的。
谢谢!