如何创建一个颜色矢量,其中一个特定输出接收的颜色不同于其他颜色?
可以手动完成,如以下示例所示:
pts.7 <- cbind(1:7, 1:7)
mycols <- c("black","black","black","red","black","black","black")
plot(pts.7, col=mycols)
但是对于像下面这样的较大数据集,它不起作用:
pts.400 <- cbind(runif(400), runif(400))
df <- data.frame(a = 1:400)
pts.400.df <- SpatialPointsDataFrame(pts.400, df)
如何构建颜色矢量,使所有绘制的点都变为灰度颜色(point$a==158
除外,应绘制红色)?
答案 0 :(得分:1)
一个技巧是使用逻辑索引:
plot(pts.400.df, col = c('black', 'red')[(pts.400.df$a == 158) + 1])
每个FALSE
将为黑色,每个TRUE
将为红色。