2013-01-14 3 views
4

Как показано ниже, как рисовать область между пунктирными линиями?Граница на графике R

Вот код:

X <- rnorm(100) 
Y<- X + rnorm(100) 
reg<-lm(Y~X) 

CI <- predict(reg,interval="confidence") 
F <- CI[,1] 
    L <- CI[,2] 
U <- CI[,3] 

plot(X,F) 
abline(reg, col="red") 
reg2<-lm(L~X) 
abline(reg2, col="red", lty="dashed") 
reg3<-lm(U~X) 
abline(reg3, col="red", lty="dashed") 

здесь выход

enter image description here

+4

точная копия я верю. попробуйте '? polygon' – baptiste

ответ

3

Кажется, что это должно быть дубликатом, но я не мог найти его в SO поиска. Я знаю, что это было много раз на rhelp. Но есть состояние для этого:

require(fortunes) 
fortune("every question") 

Lastly, by what we could call the 'Liaw-Baron principle', every question that can be 
asked has in fact already been asked. 
    -- Dirk Eddelbuettel (citing Andy Liaw's and Jonathan Baron's opinion on unique 
      questions on R-help) 
     R-help (January 2006) 

polygon(x= c(X[order(X)], rev(X[order(X)])), # both x and y go "out" in order; 
      y=c(L[order(X)], rev(U[order(X)])), # and then come "back in reverse order 
      col=rgb(1,0,0,0.3)) # transparent pink. 

> plot(X,Y, pch="+") 
> abline(reg, col="red") 
> polygon(x= c(X\[order(X)\], rev(X\[order(X)\])), y=c(L\[order(X)\],rev(U\[order(X)\])), col=rgb(1,0,0,0.3)) 

enter image description here

Смежные вопросы