0

いくつかの 3 次元ガウス サンプルを生成し、それらを plot3D でプロットするとします。雲の中心までの距離に応じてポイントに色を付けたいと思います。これは、白(= 中心から遠く離れている) と(中心に非常に近い)の間の色を指定したいということです。

colorRamp や colorRampPalette などの関数は認識していますが、この特定の状況でこれらを使用する方法がわかりません。どんな助けでも大歓迎です!

編集これは私がこれまでに持っているものです:

library(rgl)

#generate two 3D point clouds
cloud1 <- rmnorm(100,mean=c(1,1,1),varcov=diag(.25,3)) 
cloud2 <- rmnorm(75, mean=c(3,3,3),varcov=diag(.5,3))

plot3d(cloud1,box=F)
points3d(cloud2,col="red")

結果のプロット:

意地悪

しかし今、中心から離れたポイントの黒/赤を少なくしたいと考えています。

4

1 に答える 1

1

あなたはそのようなことを試すことができます:

cloud1 <- rmnorm(100,mean=c(1,1,1),varcov=diag(.25,3))
# for an euclidean distance but a manhalobis distance should be more appropriated
aux <- colSums((t(cloud1)-colMeans(cloud1))^2) 
col1 <- colorRampPalette(c("red", "white"))
# i used quantiles but equal interval could be used to
cols1 <- col1(11)[findInterval(aux, quantile(aux, seq(0,1,0.1)), right=T)]
# with equal interval
cols1 <- col1(11)[findInterval(aux, seq(min(aux), max(aux), le=10))]
plot3d(cloud1,box=F, col=cols1)

HTH

于 2013-04-26T09:02:54.213 に答える