Не позволяйте 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