擴展

2012-09-02 69 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))