Глобальная легенда с использованием grid.arrange (gridExtra) и графиков на основе решетки

Я создаю четыре графика, используя xyplot (решетку), а затем объединяю их с grid.arrange (gridExtra).

Я хотел бы получить график с общей мировой легендой. Самое близкое, чего я достиг, это следующее. Они должны быть в матричной компоновке, в противном случае можно разместить их в столбце и включить только легенду для верхней или нижней.

# Load packages
require(lattice)
require(gridExtra)

# Generate some values
x1<-rnorm(100,10,4)
x2<-rnorm(100,10,4)
x3<-rnorm(100,10,4)
x4<-rnorm(100,10,4)
y<-rnorm(100,10,1)
cond<-rbinom(100,1,0.5)
groups<-sample(c(0:10),100,replace=TRUE)
dataa<-data.frame(y,x1,x2,x3,x4,cond,groups)

# ploting function
plott<-function(x){ 
xyplot(y~x|cond,groups=groups,
       col = gray(seq(0.01,0.7,length=length(levels(as.factor(groups))))),
       pch = 1:length(levels(as.factor(groups))),
       key = list(space="top",
                  text = list(as.character(levels(as.factor(groups)))),
                  points = TRUE, lines = TRUE, columns = 3,
                  pch = 1:length(levels(as.factor(groups))), 
                  col = gray(seq(0.01,0.7,length=length(levels(as.factor(groups))))),
                  cex=1))
}
plot1<-plott(x=x1)
plot2<-plott(x=x2)
plot3<-plott(x=x3)
plot4<-plott(x=x4)


grid.arrange(plot1,plot2,plot2,plot4,ncol=2)

В аналогичном посте я видел, что это может быть выполнено с использованием ggplot2, напримерВот а такжеВот но есть ли способ включить глобальную общую легенду, используя gridExtra и график на основе решетки, например, графика XY?

Спасибо.

Ответы на вопрос(0)

Ваш ответ на вопрос