保持R不在图表区域外绘制一条线

时间:2013-12-01 22:26:07

标签: r plot

如何防止最后一个分布的红线被绘制在下图中的绘图区域之外?

chart 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))

抱歉,这似乎是一个非常简单的修复,我只是无法从文档中找到它。谢谢你的帮助。

1 个答案:

答案 0 :(得分:2)

是的,正如Joran所提到的那样,它正在绘制情节区域之外的线条,因为我在会话早些时候运行了par(xpd=TRUE)以尝试将图例放在外面。我只是运行par(xpd=FALSE)并解决了问题。