4

私は使っている

plot3d(x,y,z, col=test$color, size=4) 

Rを使用してデータセットの3D散布図をプロットしますがrglsize引数は1つのサイズしか取りません。

おそらく別のライブラリを使用して、データポイントごとに異なるサイズにすることは可能ですか、それとも簡単な回避策はありますか?

アイデアをありがとう!

4

2 に答える 2

6

これは、Etienne が提案したのと同じ方針に沿った回避策です。重要なアイデアは、プロットを設定してから、別の呼び出しを使用しpoints3d()て各サイズ クラスのポイントをプロットすることです。

# Break data.frame into a list of data.frames, each to be plotted 
# with points of a different size
size <- as.numeric(cut(iris$Petal.Width, 7))
irisList <- split(iris, size)

# Setup the plot
with(iris, plot3d(Sepal.Length, Sepal.Width, Petal.Length, col=Species, size=0))

# Use a separate call to points3d() to plot points of each size
for(i in seq_along(irisList)) {
    with(irisList[[i]], points3d(Sepal.Length, Sepal.Width, 
                                 Petal.Length, col=Species, size=i))
}

plot3d()(FWIW、これを直接行う方法はないようです。問題はplot3d()、ヘルパー関数material3d()を使用してポイントサイズを設定し、以下に示すようにmaterial3d()、単一の数値のみを取得したいことです。)

material3d(size = 1:7)
# Error in rgl.numeric(size) : size must be a single numeric value
于 2012-04-27T00:27:57.910 に答える