2011-12-15 17 views
5

My danych są następujące:R: określania koloru dla różnych aspektów/panelach kratowego

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), że chce połączyć różne kolory alternatywnym wykresu/panela - na przykład - przy 2chr1 jest darkolive zielony, ale chr10 mówi purpurowy. potem znowu ciemna oliwkowa zieleń i purpura tak dalej.

(2) Chcę użyć odwrotnej kolejności wykresu oznacza, że ​​2chr9 jest na dole.

Dzięki

enter image description here

+0

myślę, że wątków nazywane są "panele" w 'lattice'-świata i" aspekty "w" ggplot'-world ... –

Odpowiedz

6

Zastosowanie as.table=TRUE zmienić kolejność paneli i groups (wraz z wydłużonym col VEC), aby zmienić COLO (U) R.

edit: regulować kolejność poziomów czynnika

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) 

Przedłużony komenda layout daje dwie strony.

enter image description here

Alternatywnie, układ side-by-side może być ładne:

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)) 

enter image description here

+0

@ Ben, dzięki, AS.TABLE działa, ale col nie produkuje tego, co zamierzam zrobić. Nie chciałem dodawać innego koloru do alternatywnych wartości zamiast do alternatywnego panelu ... – jon

+0

?? Myślałem, że to jest moje rozwiązanie. Czy obrazek (po prostu dodany) nie jest tym, co chciałeś? (Czy zapomniałeś specyfikacji "grup"?) –

+0

@ Ben tak działa, moja wina – jon

Powiązane problemy