【发布时间】: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