【问题标题】:Create specific vector of colors创建特定的颜色矢量
【发布时间】:2018-07-13 11:34:09
【问题描述】:

如何创建一个颜色向量,其中某个输出接收的颜色与其他输出不同?

可以像下面的例子一样手动完成:

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 应该绘制为红色之外,如何构建一个颜色向量,使绘制的所有点都获得灰度颜色?

【问题讨论】:

  • 您也可以使用mycols &lt;- rep("black", 400); mycols[158] &lt;- "red"手动完成
  • @A.Suliman,不,这不是 ggplot 问题。
  • @Axeman 你是对的,但这是一个与颜色相关的问题。另外hereggplot2base R 的答案。

标签: r plot colors


【解决方案1】:

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

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

每个FALSE 都是黑色的,每个TRUE 都是红色的。

【讨论】:

    猜你喜欢
    • 2017-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-25
    • 2021-11-01
    • 1970-01-01
    • 2016-10-19
    相关资源
    最近更新 更多