2

我在 R 中生成了以下直方图:

直方图

我使用这个hist()调用生成了它:

hist(x[,1], xlab='t* (Transition Statistic)',
     ylab='Proportion of Resamples (n = 10,000)',
     main='Distribution of Resamples', col='lightblue',
     prob=TRUE, ylim=c(0.00,0.05),xlim=c(1725,max(x[,1])+10))

加上以下内容abline()

abline(v=1728,col=4,lty=1,lwd=2)

该垂直线表示测试统计的实际位置,我将其与排列样本的结果进行比较。

我的问题是:如您所见,x 刻度没有延伸回垂直线。我真的很希望这样做,因为我认为否则它看起来很奇怪。我怎样才能做到这一点?

参数我已经试过了xaxs="i",没有效果。我也尝试过制作自己的轴,axis()但这需要从头开始重新制作两个轴,结果对我来说看起来不太好。所以,我怀疑必须有一种更简单的方法来做到这一点。有没有?而且,如果没有,任何人都可以建议什么axis()命令可能会很好,假设我希望一切看起来基本相同,但 x 比例尺更长?

4

2 回答 2

7

通常的 R 绘图在绘图周围绘制一个框架。要添加它,请执行以下操作:

box()

剧情之后。

如果这不是您想要的,您需要抑制轴绘图,然后再添加自己的绘图。

hist(...., axes = FALSE) ## .... is where your other args go
axis(side = 2)
axis(side = 1, at = seq(1730, 1830, by = 20))

这不会完全接近垂直线,但可能足够接近。如果您想在垂直线上打勾,请选择不同的刻度线,例如

axis(side = 1, at = seq(1725, 1835, by = 20))
于 2012-09-02T20:51:25.553 回答
6

由于 R 在这里使用 20 的间隙作为 x 轴,因此您可以使用 1720 而不是 1725 作为下限来获得所需的扩展,即使用xlim=c(1720,max(x[,1])+10)它会产生类似

在此处输入图像描述

于 2012-09-03T01:24:06.640 回答