示例数据:
rdata <- data.frame(y=rnorm(1000,2,2),v1=rnorm(1000,1,1),v2=rnorm(1000,3,3),
v3=rnorm(1000,4,4),v4=rnorm(1000,5,5))
这不能满足我的需要:
library(lattice)
library(gridExtra)
plot1 <- lapply(1:2, function(i) {bwplot(~rdata[,i],rdata)})
plot2 <- lapply(1:3, function(i) {bwplot(~rdata[,i],rdata)})
plot3 <- lapply(1:4, function(i) {bwplot(~rdata[,i],rdata)})
print(do.call(grid.arrange, c(plot1,plot2,plot3)))
我想逐行绘制图形,以便在这种情况下plot1
在第一行的1个绘图中显示仅2个图形,第2行3图形和第3行4图形。怎么做?
编辑:期望的输出:
答案 0 :(得分:1)
升级评论以回答
不确定这是否与评论有很大改善,但可能更具可扩展性
# arrange list of grobs for each plot
l <- lapply(list(plot1, plot2, plot3),
function(i) do.call(arrangeGrob, c(i, nrow=1, ncol=4)))
# plot
do.call(grid.arrange, l)