繁体   English   中英

使用rgl颜色不匹配

[英]Color mismatch using rgl

我正在使用rgl从导入的.csv数据集创建点的散点图。 我想要点的颜色是在数据集中设置的。 一切正常,但是当显示散点图时,点的颜色与数据中定义的颜色不匹配。 例如,指定为“蓝色”的所有点实际上可能是绿色,并且指定为“黄色”的所有点实际上可能显示为红色。

data=read.csv("ExpLayout.csv", header = TRUE)
x=data$x
y=data$y
z=data$z
color=data$color
plot3d(x=x, y=y, z=z, type="s", col=color)

这几乎可以肯定是因为read.csv将字符串转换为因子

请参阅此可重现示例中的差异

library(rgl)
x<-1:5
y=1:5
z <- 1:5
colors <- c('red','green','blue','orange','purple')
plot3d(x=x,y=y,z=z,col=colors, type = 's')
colorsf <- factor(c('red','green','blue','orange','purple'))
plot3d(x=x,y=y,z=z,col=colorsf, type = 's')

因此,要么使用stringsAsFactors=FALSE作为字符列读取color ,要么使用as.character()levels(colors)[colors]强制转换为字符

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM