【问题标题】:How can I color points in a range in a dataset on a scatterplot in R如何在R中的散点图上为数据集中范围内的点着色
【发布时间】:2021-07-03 22:44:09
【问题描述】:

我需要从导入的数据中制作一个颜色编码的散点图,其中 0 到 4 之间的值是红色的。我尝试了子集,但我认为我没有正确使用它。这是我正在尝试使用的代码

DAT1 = log(DAT, 10)
data.frame(DAT1)
FSC = DAT1$FSC.HLin
RED = DAT1$RED.V.HLin
plot(FSC, RED)
red = subset(DAT1, FSC.HLin<4 & FSC.HLin>0)
points(red)
col = 'red'

【问题讨论】:

  • 如果您包含一个简单的reproducible example 以及可用于测试和验证可能的解决方案的示例输入,则更容易为您提供帮助。

标签: r colors subset scatter-plot


【解决方案1】:

这是一种使用ifelse 以不同颜色绘制所选点的方法。根据 x 轴值将图形参数 col 设置为值 "red""black"

FSC <- -5:10
RED <- seq_along(FSC)
plot(FSC, RED, col = ifelse(FSC > 0 & FSC < 4, "red", "black"))

另一种等效的方法是预先创建一个颜色向量。在下面的代码中,我还将点字符更改为实心圆,尽管这不是问题。并且直接使用数据集DAT1,无需创建新的向量FSCRED

DAT1 <- data.frame(FSC.HLin = FSC, RED.V.HLin = RED)
col <- with(DAT1, ifelse(FSC.HLin > 0 & FSC.HLin < 4, "red", "black"))
pch <- with(DAT1, ifelse(FSC.HLin > 0 & FSC.HLin < 4, 16, 1))
plot(RED.V.HLin ~ FSC.HLin, data = DAT1, col = col, pch = pch)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-11-20
    • 1970-01-01
    • 2021-10-29
    • 1970-01-01
    • 2018-01-07
    • 1970-01-01
    • 2023-01-19
    • 2014-03-09
    相关资源
    最近更新 更多