R: указание цвета для разных граней / панелей в решетке
Мои данные таковы:
grp = rep(1:2, each = 100)
chr = c(rep(1:10, each = 10), rep(1:10, each = 10))
var = paste (grp, "chr", chr, sep = "")
pos = (rep(1:10, 20))
yvar = rnorm(200)
mydf = data.frame (var, pos, yvar)
require( lattice)
xyplot(yvar ~ pos| factor(var), data = mydf, layout = c(1,10), type = c("g", "h"),
col = "darkolivegreen", lwd = 4)
(1) Я хочу поместить разные цвета в чередующийся график / панель - например - 2chr1
темно-зеленый, но chr10
это сказать фиолетовый. затем снова темно-оливково-зеленый и фиолетовый и так далее.
(2) Я хочу использовать обратный порядок графа означает, что 2chr9
находится внизу.
Спасибо
1 ответ
Решение
Использование as.table=TRUE
изменить порядок панелей и groups
(вместе с расширенным col
vec) изменить colo(u)rs.
редактировать: скорректированный порядок уровней факторов
mydf <-
data.frame (var, pos, yvar,
## fvar = factor(var,levels=unique(var)),
fvar = factor(var, levels = c(outer(2:1, 1:10, paste, sep="chr"))))
xyplot(yvar ~ pos| fvar,
groups=fvar,
data = mydf, layout = c(1,10,2), type = c("g", "h"),
col = c("darkolivegreen","purple"), lwd = 4, as.table=TRUE)
Расширенный layout
Команда дает две страницы.
В качестве альтернативы может быть полезен макет бок о бок:
library(latticeExtra)
useOuterStrips(xyplot(yvar ~ pos|factor(grp)*factor(chr),
groups=grp,
col=c("darkolivegreen","purple"),
data = mydf, layout = c(2,10), type = c("g", "h"),
lwd = 4, as.table=TRUE))