2015-11-04 59 views
2

我想着色曲线的包络。 说,例如:如何为曲线包络着色

set.seed(1) 
middle = seq(1,10,length.out=100) 
upper = middle+5*runif(100) 
lower = middle-5*runif(100) 
plot(seq(100),middle,ylim=range(lower,middle,upper),type='l',col='red') 
lines(upper,col='grey') 
lines(lower,col='grey') 

plot

我怎样才能在灰色灰色线之间?

+0

使用'polygon',像'多边形(C(xvals,REV(xvals描述)) ,c(min_y,max_y))'......我觉得必须有一个重复的地方,但不能很快找到它。 –

+2

是的,它在'demo(graphics)'中有描述。 – RHertel

+0

@RHertel,好点(你可以复制这些信息作为答案,如果你喜欢的话),但我的意思是特别是一个StackOverflow重复... –

回答

4

这里有一个可能性,因为在demo(graphics)

middle <- seq(1,10,length.out=100) 
upper <- middle+5*runif(100) 
lower <- middle-5*runif(100) 
xx <- c(1:100,100:1) 
yy <- c(upper,rev(lower)) 
plot(seq(100),middle,ylim=range(lower,middle,upper),type='l') 
polygon(xx, yy, col="gray") 
lines(seq(100),middle,ylim=range(lower,middle,upper),type='l',col='red') 

enter image description here

3
# ... Your code before plot(...) 
sequence = seq(100) 
plot(sequence,middle,ylim=range(lower,middle,upper),type='l',col='red') 
# After all the other code: 
polygon(c(sequence, rev(sequence)), c(upper, rev(lower)), col = rgb(0.5, 0.5, 0.5, 0.5), border = NA) 

Obligatory picture of output