扩展

2012-09-02 67 views
2

我已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尺度?

回答

6

由于R在这里使用20的空白,为x轴,你可以得到你想要使用1720,而不是1725的下限与xlim=c(1720,max(x[,1])+10)将产生类似

的延长,即enter image description here

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