在R中直方图中的条形图上居中值

在R中直方图中的条形图上居中值,r,R,希望将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轴记号 非常感谢您的帮助 不像您希望的那样漂亮,但看起来最好的方法是使用axis=F,然

希望将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轴记号


非常感谢您的帮助

不像您希望的那样漂亮,但看起来最好的方法是使用axis=F,然后使用“axis”命令输入您自己的轴,指定您希望看到的记号

参考:

hist()
返回
mids
组件中条形图中点的x坐标,因此可以执行以下操作:

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

sample\u avg尝试了这一点,但每次我这么做时,最后一个值都会被切断。你知道有什么办法可以避开吗?我试着弄乱长度,但我一直认为我的“at”和“labels”相差1。没关系,用$mids计算出来了。我感谢所有的帮助!您可以通过指定断点,使用<代码> Stuts= Seq(0.5,6 .5)< /代码>,而不是<代码> Stase= 7 ,您可以得到更好的结果。默认条形图还将x轴标签置于条形图下方的中心。
# 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))