RGB 3D散点图-从第4维控制球体的大小(气泡图)

时间:2018-12-22 13:43:40

标签: r plot rgl bubble-chart scatter3d

我正在使用R中的rgl包来制作3D散点图,其中不同系列使用多种颜色。我想知道是否可以通过控制球体的大小来绘制第4维。

我知道可以使用plotly(“气泡图”):https://plot.ly/r/3d-scatter-plots/,但是当处理大量数据点时,Plotly开始闪烁。使用Rgl可以达到相同的结果吗?

1 个答案:

答案 0 :(得分:0)

set.seed(101)
dd <- data.frame(x=rnorm(100),y=rnorm(100),z=rnorm(100),
                 c=rnorm(100),s=rnorm(100))

缩放函数(我将值严格保持在(0,1)中,不知道这是否真的必要):

ss <- function(x) scale(x,center=min(x)-0.01,scale=diff(range(x))+0.02)
library(rgl)

定义颜色(也许有更好的方法...)

cvec <- apply(colorRamp(c("red","blue"))(ss(dd$c))/255,1,
              function(x) rgb(x[1],x[2],x[3]))

图片(需要type="s"才能获得球体)

with(dd,plot3d(x,y,z,type="s",radius=ss(s), col=cvec))

enter image description here