4

zの値に基づいて各パネルのポイントに色を付けたいと思います。私が現在持っているコードは、各パネルからz値を区別していません。パネル関数とpanel.superposeが必要なことに気づきましたが、役に立たないかもしれません。

x <- c(1:10, 1:10)
y <- c(10:1, 10:1)
z <- c(1:10, seq(1,20, by=2))
a = c(rep("one",10),rep("two",10))

xyplot(y ~ x |a,
   panel=function(x,y, ...) {
     panel.xyplot(x,y, pch=20, cex=0.3, col = ifelse(z < 5, "red", "black"))
   }
   )

正しいプロットでは、「2つの」パネルに2つのポイントが赤く表示されます。

4

1 に答える 1

5

これはあなたが望むものでなければなりません:

DF <- data.frame(x, y, z, a)

xyplot(y ~ x | a, groups = z < 5, data = DF, col = c("black", "red"),
 pch=20, cex=0.3)

ここに画像の説明を入力

色の順序を明確にするためにz < 5、論理ベクトルを作成します。の前にorder(c(TRUE,FALSE))置くので、これはグループの色の順序を決定します。したがって、 のすべての値は2 番目の色を使用し、 の他のすべての値は1 番目の色を使用します。FALSETRUEz<5z

于 2012-10-04T08:13:29.583 に答える