我有以下数据框,我想绘制.我想知道是否有可能将连接我的结果变量(stackOne $ y)的部分线以不同颜色着色,具体取决于它是否小于某个值.例如,我希望部分线条在2.2以下变成红色.
id<-rep(c(1,2,3),each=3)
y<-rnorm(9,2,1)
x<-rep(c(1,2,3),3)
stackOne<-data.frame(cbind(id,y,x))
p<-ggplot(stackOne,aes(x=x,y=y)) +
geom_point()+
geom_line(aes(group=id))
p
Run Code Online (Sandbox Code Playgroud)
谢谢!
抱歉,如果这是一个重复的问题,但我尝试过的其他答案并未产生我想要的情节。
我想根据该值是正值还是负值(我称之为“阶段”)对该图进行颜色编码。
当 geom_line() 达到 0 的上方或下方时,我希望它的颜色为“正”或“负” - 我认为以下方法可行,但似乎不起作用。有人能告诉我哪里出了问题吗?谢谢。
] 1
structure(list(Date = c(1876, 1877, 1878, 1879, 1880, 1881),
value = c(4.95, -10.0416666666667, 2.95, 12.85, 7.8, -4.76666666666667
), phase = structure(c(3L, 1L, 3L, 3L, 3L, 1L), .Label = c("negative",
"neutral", "positive"), class = "factor")), row.names = c(NA,
-6L), class = c("data.table", "data.frame"), .internal.selfref = <pointer: 0x7ffb06817ce0>)
Run Code Online (Sandbox Code Playgroud)
## create a column to determine if the phase is negative, positive or neutral i.e. 0
dd_avg$phase<-factor(sign(dd_avg$value), (-1):1, c('negative', 'neutral', 'positive'))
dd_avg …Run Code Online (Sandbox Code Playgroud)