扩展轴的比例

时间:2012-09-02 20:13:51

标签: r data-visualization

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

Histogram

我使用此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规模更长?

2 个答案:

答案 0 :(得分: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))

答案 1 :(得分:6)

由于R在这里使用20的x轴间隙,你可以使用1720而不是1725作为下限得到你想要的扩展名,即用xlim=c(1720,max(x[,1])+10)产生类似

的扩展名。

enter image description here