R - 基于条件的情节中的组织样线的不同颜色

时间:2018-03-01 23:23:22

标签: r dataframe plot colors

我有一个看起来像这样的数据框(df)

secret_word_list

我的实际data.frame有90列(90个均值和90个值)

现在我绘制了第一列的值(均值)

string = 'abc'
list = list(string)

结果如下所示

enter image description here

现在我希望我的情节线采用不同的颜色,取决于第二列的t值。

例如:如果t值> 2或< - 2,则绘制的平均线应为黑色,如果t值介于-2和2之间则应为灰色

我希望有办法做到这一点;) 谢谢你的帮助

2 个答案:

答案 0 :(得分:0)

这将完成这项工作。只需要确定符合条件的数据,然后使用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")

答案 1 :(得分:0)

您可以在df中创建另一列,指定基于tvalue的颜色。然后,您可以在col的{​​{1}}参数中指定此列。

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"))

enter image description here