11

希望将 x 轴的值绘制在 R 条的中心。

在寻找使这成为可能的方法时遇到问题,代码如下:

hist(sample_avg, breaks =7, ylim=c(0,2000), 
    main = 'Histogram of Sample Average for 1 Coin Flip', xlab= 'Sample Average')

这只是为了掷硬币,所以我有 6 个可能的值,并且希望有 6 个桶,每个桶下面都有 x 轴刻度线。

任何帮助深表感谢。

4

3 回答 3

13

hist()返回组件中条形中点的 x 坐标mids,因此您可以这样做:

sample_avg <- sample(size=10000,x=seq(1,6),replace=TRUE)
foo <- hist(sample_avg, breaks =7, ylim=c(0,2000), 
    main = 'Histogram of Sample Average for 1 Coin Flip', xlab= 'Sample Average',
    xaxt="n")
axis(side=1,at=foo$mids,labels=seq(1,5))
于 2012-11-19T21:51:18.127 回答
4
# when dealing with histogram of integers, 
# then adding some residual ~ 0.001 will fix it all...
# example:
v = c(-3,5,5,4,10,8,8)
a = min(v)
b = max(v)
foo = hist(v+0.001,breaks=b-a,xaxt="n",col="orange",
panel.first=grid(),main="Histogram of v",xlab="v")
axis(side=1,at=foo$mids,labels=seq(a,b))
于 2015-04-19T14:10:26.083 回答
0

不像您希望的那样漂亮,但看起来最好的方法是使用 axes=F,然后使用“axis”命令放入您自己的轴,指定您想要查看的刻度线。

参考:https ://stat.ethz.ch/pipermail/r-help/2008-June/164271.html

于 2012-11-19T21:16:25.187 回答