Глобальная легенда с использованием 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?
Спасибо.