r - 使用 R ifelse() 定义图中的颜色

标签 r

我需要帮助来使用下面的代码在我的图形中定义颜色方案。我想要两个值为 x <= -2 | 的元素y > 2 显示为红色,其他显示为黑色。

col = ifelse( x <= -2 | y > 2, "red", "black")

逻辑或部分有问题,这会导致错误。解决问题的最佳方法是什么?

最佳答案

set.seed(42)
x <- runif(100,-4,0)
y <- rnorm(100,mean=2)

plot(x,y,col=c("black", "red")[(x <= -2 | y > 2) + 1])

enter image description here

在您的具体情况下,这也适用,因为 plot 中的颜色 1 对应于黑色,2 对应于红色:

plot(x,y,col=(x <= -2 | y > 2) + 1)

但是,您的解决方案也适用于我:

col = ifelse( x <= -2 | y > 2, "red", "black")
plot(x,y,col=col)

关于r - 使用 R ifelse() 定义图中的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21087705/

相关文章:

r - 将grid.text添加到arrange.grob以导出为PNG

html - 如何在 Rmarkdown html 输出中有一个 float 图像?

r - 将包含总计和百分比的行添加到 DT 数据表

r - 对于大数据集,R 和 Excel 之间缺乏可重复性

r - 如何在 R 中的任意嵌套列表上替换 NULL 值?

regex - 使用 tidyr::extract regex 将字符串分成几列

r - 使用 terra::predict 和 caret::train ranger 模型生成物种分布的预测栅格

r - 求解 R 中的简单方程

r - geom_point 并不总是显示在 map 上

r - 如何识别二进制矩阵中相同值的簇?