Предпазвайте R от графика на линия извън областта на диаграмата

Как да предотвратя начертаването на червената линия за последното разпределение извън зоната на диаграмата в графиката по-долу?

http://i.minus.com/jRiGxDBVw6kjZ.jpeg

Генерирах графиката със следния код:

x <- seq(0,4,.1)
alpha_0 <- 2
beta_0 <- .2
hist(rexp(256, rate=1))
sample <- rexp(256, rate=1)
plot(x,dgamma(x, shape=alpha_0, rate=beta_0),type='l',col='black',ylim=c(0,2),main="Posteriors of Exponential Distribution", ylab='')

lines(x,dgamma(x, shape=alpha_0+4, rate=beta_0+sum(sample[1:4])),col='blue')
lines(x,dgamma(x, shape=alpha_0+8, rate=beta_0+sum(sample[1:8])),col='green')
lines(x,dgamma(x, shape=alpha_0+16, rate=beta_0+sum(sample[1:16])),col='orange')
lines(x,dgamma(x, shape=alpha_0+256, rate=beta_0+sum(sample[1:256])),col='red',)
legend(x=2.5,y=2, c("prior","n=4", "n=8", "n=16", 'n=256'), col = c('black', 'blue', 'green','orange' ,'red'),lty=c(1,1,1,1))

Съжалявам, изглежда като доста проста корекция, просто не можах да го разбера от документацията. Благодаря за вашата помощ.


person Michael Discenza    schedule 01.12.2013    source източник
comment
Опитайте го в чиста R сесия. Вероятно сте променили par настройката xpd и просто сте забравили да я зададете обратно.   -  person joran    schedule 02.12.2013


Отговори (1)


Да, както Джоран спомена, чертаеше линията извън зоната на графиката, защото стартирах par(xpd=TRUE) по-рано в сесията, за да се опитам да поставя легендата отвън. Просто пуснах par(xpd=FALSE) и това реши проблема.

person Michael Discenza    schedule 01.12.2013