R - 基于条件的情节中的组织样线的不同颜色
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了R - 基于条件的情节中的组织样线的不同颜色相关的知识,希望对你有一定的参考价值。
我有一个看起来像这样的data.frame(df)
mean t value
0.004 3.12
0.021 3.41
. .
. .
-0.067 -3.60
我的实际data.frame有90列(90个均值和90个t值)
现在我绘制了第一列的值(均值)
mean<-df$mean
timestamp<-seq(from=-30, to=60)
plot(mean~timestamp, type="h", lwd=2, col="darkgrey", main="test")
结果看起来像这样
现在我想让我的情节线采用不同的颜色,取决于第二列的t值。
例如:如果t值> 2或<-2,则绘制的平均线应为黑色,如果t值介于-2和2之间,则应为灰色
我希望有办法做到这一点;)感谢你的帮助
答案
这将完成这项工作。只需要确定符合您条件的数据,然后使用lines
添加它
df = data.frame(mean = rnorm(91), tvalue = rnorm(91,4,1.5))
mean<-df$mean
timestamp<-seq(from=-30, to=60)
t_pos = t_neg = mean
t_pos[df$tvalue< -2 & df$tvalue >2] = NA
t_neg[df$tvalue> -2 & df$tvalue < 2] = NA
plot(mean~timestamp, type="h", lwd=2, col="darkgrey", main="test")
lines(timestamp,t_pos,col="darkgrey", type = "h")
lines(timestamp,t_neg,col="black", type ="h")
另一答案
您可以在df
中创建另一个列,该列指定基于tvalue
的颜色。然后,您可以在col
的plot
参数中指定此列。
df$cols <- ifelse(df$tvalue < -2 | df$tvalue > 2, "black", "gray")
with(df, plot(mean~timestamp, type="h", lwd=2, col=cols, main="test"))
数据
set.seed(510)
df <- data.frame(mean = sample(seq(-0.1, 0.2, length.out = 91), 91),
tvalue = sample(seq(-3, 3, length.out = 91), 91))
df$timestamp <- seq(from=-30, to=60)
以上是关于R - 基于条件的情节中的组织样线的不同颜色的主要内容,如果未能解决你的问题,请参考以下文章