R:为格子中的不同刻面/面板指定颜色 [英] R: specifying color for different facets / panels in lattice
问题描述
我的数据如下:
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
xyplot(yvar〜pos | factor(var),data = mydf,layout = c(1,10),type = c(g,h),
col =darkolivegreen ,lwd = 4)
(1)我想在不同的图形/面板上添加不同的颜色 - 例如 - 2chr1
是暗绿色,但 chr10
是紫色。然后再次黑橄榄绿和紫色等。 (2)我想使用图的逆序意味着 2chr9
位于底部。
谢谢
as.table = TRUE
使用解决方案 code>改变面板和 groups
的顺序(以及一个扩展 col
vec)来改变颜色(u)rs。
编辑:因素级别的调整顺序
<$ p $ (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,紫色),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 ))
My data is as follows:
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) I want to put different colors to alternate graph / panel - for example - 2chr1
is darkolive green but chr10
is say purple. then again dark olive green and purple so on.
(2) I want to use reverse order of graph means that 2chr9
is at the bottom.
Thanks
Use as.table=TRUE
to change the order of panels and groups
(along with an extended col
vec) to change colo(u)rs.
edit: adjusted order of factor levels
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)
The extended layout
command gives two pages.
Alternatively, a side-by-side layout might be nice:
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))
这篇关于R:为格子中的不同刻面/面板指定颜色的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!