我做了以下直方图:
one <- c(2,2,3,3,3,3,4,4,4,4,4,4,5,5,5,5,6,6,7,8)
hist(one, breaks = 3)
而不是x轴上2-8的范围,我需要在x轴上有三个标签来总结这样的值范围:2-3; 4-5; 6-8
如何修改x轴的代码以获得三个标签,并且位于正确的位置?
答案 0 :(得分:3)
使用以下方法标记范围的中点很容易:
h <- hist(one, breaks = 3, xaxt = 'n')
axis(1, h$mids, h$mids)
但是如果你想让标签成为命名范围的字符串,你必须做更多的工作。看看str(h)
,了解您需要使用的内容:
> str(h)
List of 6
$ breaks : num [1:4] 2 4 6 8
$ counts : int [1:3] 12 6 2
$ density : num [1:3] 0.3 0.15 0.05
$ mids : num [1:3] 3 5 7
$ xname : chr "one"
$ equidist: logi TRUE
- attr(*, "class")= chr "histogram"
您可以使用breaks
元素构建轴标签:
h <- hist(one, breaks = 3, xaxt = 'n')
axis(1, h$mids, paste(h$breaks[1:3], h$breaks[2:4], sep=' - '))