假设我有一些数据,d
,我将nls模型拟合到数据的两个子集中。
x<- seq(0,4,0.1)
y1<- (x*2 / (0.2 + x))
y1<- y1+rnorm(length(y1),0,0.2)
y2<- (x*3 / (0.2 + x))
y2<- y2+rnorm(length(y2),0,0.4)
d<-data.frame(x,y1,y2)
m.y1<-nls(y1~v*x/(k+x),start=list(v=1.9,k=0.19),data=d)
m.y2<-nls(y2~v*x/(k+x),start=list(v=2.9,k=0.19),data=d)
然后,我想在数据上绘制拟合的模型回归线,并对预测区间进行阴影。我可以使用包investr
来完成这一任务,并为每个子集分别获得很好的绘图:
require(investr)
plotFit(m.y1,interval="prediction",ylim=c(0,3.5),pch=19,col.pred='light blue',shade=T)
plotFit(m.y2,interval="prediction",ylim=c(0,3.5),pch=19,col.pred='pink',shade=T)
然而,如果我把它们放在一起,我就有问题了。第二个地块的阴影覆盖了第一个地块的点和阴影:
他说:我怎样才能确保第一个地块上的点在第二个地块的阴影上结束?
2:如何使阴影预测间隔重叠的区域出现新颜色(如紫色,或重叠的两种颜色的任何融合)?
发布于 2015-10-23 08:08:14
使用adjustcolor
可以像这样添加透明性:
plotFit(m.y1, interval = "prediction", ylim = c(0,3.5), pch = 19,
col.pred = adjustcolor("lightblue", 0.5), shade = TRUE)
par(new = TRUE)
plotFit(m.y2, interval = "prediction", ylim = c(0,3.5), pch = 19,
col.pred = adjustcolor("light pink", 0.5), shade = TRUE)
根据您的需要,您可以使用这两个透明值(这里都设置为0.5),并且可能只使其中一个透明。
https://stackoverflow.com/questions/33305620
复制