创建特定的颜色矢量

时间:2018-07-13 11:34:09

标签: r plot colors

如何创建一个颜色矢量,其中一个特定输出接收的颜色不同于其他颜色?

可以手动完成,如以下示例所示:

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除外,应绘制红色)?

1 个答案:

答案 0 :(得分:1)

一个技巧是使用逻辑索引:

plot(pts.400.df, col = c('black', 'red')[(pts.400.df$a == 158) + 1])

每个FALSE将为黑色,每个TRUE将为红色。