Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
RGL Plot3D:更多颜色,无重复_R_Plot_Rgl - Fatal编程技术网

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值来设置颜色,但是您当然可

使用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值来设置颜色,但是您当然可以使用分组变量、变换等来设置颜色。以下是一些选项:

# 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))