为R中的数据点生成颜色

时间:2011-11-22 05:47:51

标签: r colors

我有一些数据点,例如:

1.342 0.1839 1.1 2.210

我希望生成一个

的向量
0-1: red
1-2: green
2-3: blue

所以对于这个向量,它将是

red green green blue

这样我可以用颜色绘图,点将根据我的数据点的值进行着色。

这是一个可重复的例子,说明为什么它是错误的。有些点是黑色的:

library(rgl)
library(Rcmdr)
x <- c(1:10)
y <- c(2,4,5,1,8,4,6,2,3,1)
z <- c(3,6,1,7,8,3,5,5,7,9)
c <- c(0.1, 0.2, 1.2, 1.8, 2.4, 1.2, 0.6, 0.6, 1.3, 2.1)

cols <- cut(c, breaks=c(0, 1, 2, 3), labels=c("red", "green", "blue"))

scatter3d(x,y,z,residuals=F,fit=NA,point.col=cols)

1 个答案:

答案 0 :(得分:3)

以下是一般概念:

dat <- c(1.342, 0.1839, 1.1, 2.210)
plot(dat, 
     col = as.character(cut(dat, 
                            breaks=c(0, 1, 2, 3), 
                            labels=c("red", "green", "blue"))), 
     pch = 16)

(请注意,cut()的值是一个因子,因此需要包含在as.character()中。否则,它将被col=解释为数字向量(始终为)1 =“黑色”,2 =“红色”,3 =“绿色”等。)