RGL Plot3D:更多颜色,无重复
使用rgl plot3D打印时,我会使用以下内容:RGL Plot3D:更多颜色,无重复,r,plot,rgl,R,Plot,Rgl,使用rgl plot3D打印时,我会使用以下内容: col = as.integer(as.factor(data[[input$colorBy]]))) plot3d(d[,1], d[,2], d[,3], type=type, col=col, add=TRUE) 但是,如果有超过10个或更多的不同因素,这将重复颜色。是否有任何方法可以扩展此功能,使颜色不再重复,并且(理想情况下)颜色跨越一个大范围的颜色空间?有许多方法可以自行设置颜色。我在下面的示例中使用了z值来设置颜色,但是您当然可
col = as.integer(as.factor(data[[input$colorBy]])))
plot3d(d[,1], d[,2], d[,3], type=type, col=col, add=TRUE)
但是,如果有超过10个或更多的不同因素,这将重复颜色。是否有任何方法可以扩展此功能,使颜色不再重复,并且(理想情况下)颜色跨越一个大范围的颜色空间?有许多方法可以自行设置颜色。我在下面的示例中使用了z值来设置颜色,但是您当然可以使用分组变量、变换等来设置颜色。以下是一些选项:
# Fake data
dat = data.frame(x=sort(runif(100,0,100)), y=runif(100,0,100))
dat$z = dat$x + dat$y
dat = dat[order(dat$z), ]
# hcl colors (I've scaled z so that the h value ("hue") ranges from
# zero to 350 (where the hue scale ranges from 0 to 360 degrees))
plot3d(dat, col=hcl(350*(dat$z - min(dat$z))/(max(dat$z) - min(dat$z)), 100, 65))
# Create a color ramp function (from red to green to blue in this case)
colFunc = colorRamp(c(rgb(1,0,0), rgb(0,1,0), rgb(0,0,1)))
cols=colFunc(dat$z/max(dat$z))
plot3d(dat, col=rgb(cols, maxColorValue=255))