【问题标题】:Color selected parts of data in basic R plot在基本 R 图中为选定的数据部分着色
【发布时间】:2019-08-20 11:01:16
【问题描述】:

我试图将趋势绘制为多年来的数据点。我添加了两条不同颜色的回归线,表示效果发生前后的拟合。现在我想为对应于各自趋势线的数据点着色,但不幸的是,我不知道该怎么做......

首先我尝试过:

plot(as.numeric(colnames(df)[6:27]), unlist(df[56, 6:27]),  type = "o", col = "blue" )

但后来意识到我也需要误差线,所以我选择了:

plot(df$x, df$y,
     ylim=range(c(df$y- sdev, df$y+ sdev)),
     pch=19, xlab="name1", ylab="name2",
     main="Title here")

并添加了彩色趋势线:

abline(name, col= "red")

现在,我知道这些是相同的功能,但我可能一辈子都不知道如何将颜色限制在某个区域。我试过了:

plot(df$x, df$y,
     ylim=range(c(df$y- sdev, df$y+ sdev)),
     pch=19, xlab="name1", ylab="name2",
     main="Title here", col(df$y > 2011) = "blue")

(在我的脑海中“让 2011 年的所有年份都变蓝”)但这给了我:

错误:“)”中出现意外的 ')'

最后只使用 col = "blue" 有效,但当然可以为整个数据着色。很抱歉这个基本问题,但我对 R 有点陌生...... 非常感谢!

【问题讨论】:

  • 尝试使用 col=ifelse(df$y>2011, "blue", "red") 或您喜欢的任何其他颜色组合。这种方式创建了一个颜色向量,每个点必须是颜色。
  • 有效!谢谢你,你是圣人! :)
  • 然后接受它作为答案;)
  • 对不起,它一开始只显示为标志。接受!

标签: r


【解决方案1】:

尝试使用col=ifelse(df$y>2011, "blue", "red") 或您喜欢的任何其他颜色组合。这种方式创建了一个颜色向量,每个点都必须是颜色。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-24
    • 2013-07-07
    • 2013-06-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多