4

ストリップチャートに追加の情報レイヤーを追加するために、ストリップチャートの各データ ポイントの色を個別に定義したいと考えています。解決策が見つかりませんでした

R plot のグループの色分けが異なることを認識しており、その答えは、データポイントごとに不可能であることを示唆しています。私は正しいですか?

それを回避する方法は、for ループで列ごとにプロットすることですが、x 位置が台無しになります。

d = c (1,3,4);
e = c (2,3,4)
f = c (2,6,5)
data = list (d, e, f)
stripchart (data, vertical =T, pch =21, bg = 1, col=2)

たとえば、素数を赤で、非素数を青で色付けしたいとします。または偶数と奇数。

最も普遍的なソリューションは、 input と同じ次元の color-list を使用します。ここで、各値は、プロットされた対応するデータ ポイントの色を定義します。

4

3 に答える 3

1

次に、それらを 1 つずつプロットし、bg=パラメーターを使用する方が簡単です。

# generate fake data
datalist = list( rnorm(100), rnorm(100, sd = 1),rnorm(100, sd = 2) )
# generate color value for each data point  (say I want to color by each values sign +/-)
colorlist = lapply(datalist, sign)
plot(0,0,type="n",xlim=c(0.5,3.5), ylim=c(-10,10),  xaxt = 'n', xlab ="", ylab = "value",  main ="Smear")
for (i in 1:3) { stripchart(na.omit(datalist[[i]]), at = i, add = T, bg = colorlist[[i]]+2, vertical = T, pch =21, method = "jitter") }
axis(side=1,at=1:3,labels=3:1)
于 2015-10-06T09:50:23.780 に答える