1

我正在使用 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)
4

1 回答 1

4

这几乎可以肯定是由于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')

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

于 2013-03-12T23:45:38.903 回答