Я пытаюсь получить многостраничный двухмерный решетчатый график, чтобы на нескольких страницах был одинаковый макет кондиционирования. Вертикальное расположение должно быть
CCC
BBB
AAA
на каждой странице. Я знаю, как сделать это вручную, но код уродлив, особенно если последняя страница заполнена не полностью.
В теме 2010 года я прочитал, что это было "в списке" для ggplot2.
library(lattice)
d = expand.grid(f1 = as.factor(letters[1:10]),
f2 = as.factor(LETTERS[1:3]),
x = 0:10)
d$y = rnorm(nrow(d))
xyplot(y~x|f1+f2,data=d,cex=0.5,pch=16,layout=c(5,3,2))
Обратите внимание, что все A находятся на первой странице, затем B, а затем B и C на последней странице.
Отредактировано по идее Габора
library(lattice)
library(latticeExtra)
# Note: changed so that it does not fill the three pages
d <- expand.grid(f1 = as.factor(letters[1:8]),
f2 = as.factor(LETTERS[1:3]),
x = 0:10)
d$y <- rnorm(nrow(d))
page <- factor((as.numeric(d$f1) - 1) %/% 5 + 1)
# The second (=last) page has different panel sizes
# Using aspect does not help
for(pg in levels(page)) {
p <- xyplot(y ~ x|f1+f2, data = d[pg == page, ], cex = .5, pch = 16,
layout = c(5, 3))
print(useOuterStrips(p))
}