我有一些数据点,例如:
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)
答案 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 =“绿色”等。)