2

有一种非常方便的绘制多个图形的方法,那就是 gridExtra - grid.arrange

grid.arrange(plot1,plot2,plot3,plot4,plot5,plot6,plot7,plot8,plot9, ncol=3)

上述命令在一个窗口中绘制 3x3 图形。

现在,我正在使用我自己的格子设置来绘制独特的线条等。

trellis.par.set(my.setup)

但是,使用 grid.arrange 命令绘制多个绘图不会传递设置,因为输出绘图是默认颜色。

所以问题是如何传递my.setup到 grid.arrange 或者如何轻松地一次绘制多个图形以获取格子。

编辑:可重现的例子:

Data <- data.frame(Col1=rnorm(10,0,1),Col2=rexp(10,2),Col3=rnorm(10,2,2),Col4=runif(10,0,2), 
       Time=seq(1,10,1))

trellis.par.set(col.whitebg()) 
newSet <- col.whitebg() 
newSet$superpose.symbol$col <- c("blue3","orange2","gray1","tomato3")
newSet$superpose.symbol$pch <- 1
newSet$superpose.symbol$cex <- 1
newSet$superpose.line$col <- c("blue3","orange2","gray1","tomato3")
trellis.par.set(newSet)

Plot1 <- xyplot(Col1+Col2~Time, Data, type="spline")
Plot2 <- xyplot(Col2+Col3~Time, Data, type="spline")
Plot3 <- xyplot(Col1+Col3~Time, Data, type="spline")
Plot4 <- xyplot(Col3+Col4~Time, Data, type="spline")

grid.arrange(Plot1,Plot2,Plot3,Plot4, ncol=2)
4

1 回答 1

7

我想这与plot.trellis包装在gridExtra::drawDetails.lattice. 我不明白这些格子选项,但据我记得你也可以在情节级别明确指定它们,

pl = list(Plot1, Plot2, Plot3, Plot4)
# do.call(grid.arrange, c(pl, nrow=1))
do.call(grid.arrange, c(lapply(pl, update, par.settings=newSet), list(nrow=1)))

在此处输入图像描述

于 2013-08-24T19:39:26.173 回答