使用线条时,线条不会根据条件改变颜色。但是,当我使用点代替时,这些点会正确更改颜色,但是这些点非常稀疏,因此很难测量结果。
我尝试使用ifelse()函数尝试更改线条的颜色,但是如前所述,它不适用于仅线条的线条。
wLow = 0
w0 = 1.49
wHigh = 4
z = yaxis <- c(1,2,3)
t = xaxis <- c(wLow,w0,wHigh)
distPlot <- plot(t,z, type="b", lwd=5, pch=15, col = ifelse( t <
w0,'red','green'), xlab="Moderator Range", ylab="Effect")
理想情况下,我希望w0下方的线是红色,上方的线是绿色,或者如果这不可能,我们是否可以在3个给定点之间创建正确颜色的点线?
答案 0 :(得分:1)
一种解决方案是先绘制segments
线,然后添加点。
请注意,必须先开始空白图。这是通过plot(..., type = "n")
完成的。
z0 <- c(1, 2)
t0 <- c(wLow, w0)
z1 <- c(2, 3)
t1 <- c(w0, wHigh)
plot(t, z,type = "n", xlim = range(t), ylim = range(z),
xlab = "Moderator Range", ylab = "Effect")
segments(t0, z0, t1, z1, lwd = 5, col = ifelse(t < w0, 'red', 'green'))
points(t, z, pch = 15, col = ifelse(t < w0, 'red', 'green'))
答案 1 :(得分:1)