私は使っている
plot3d(x,y,z, col=test$color, size=4)
Rを使用してデータセットの3D散布図をプロットしますがrgl
、size
引数は1つのサイズしか取りません。
おそらく別のライブラリを使用して、データポイントごとに異なるサイズにすることは可能ですか、それとも簡単な回避策はありますか?
アイデアをありがとう!
私は使っている
plot3d(x,y,z, col=test$color, size=4)
Rを使用してデータセットの3D散布図をプロットしますがrgl
、size
引数は1つのサイズしか取りません。
おそらく別のライブラリを使用して、データポイントごとに異なるサイズにすることは可能ですか、それとも簡単な回避策はありますか?
アイデアをありがとう!
これは、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