我想用柱状图的每个柱状图标记该柱状图中该柱状图中计数的数量或该柱状图中总计数的百分比。我相信一定有办法做到这一点,但我一直没能找到。这个页面有几张SAS直方图的图片,基本上做了我想做的事情(但网站似乎没有R版本):http://www.ats.ucla.edu/stat/sas/faq/histogram_anno.htm
如果可能,也可以根据需要灵活地将标签放在栏上或栏内的某个地方。
我正在尝试使用基本的R绘图工具来做这件事,但我也会对在ggplot2和晶格中做这件事的方法感兴趣。
发布于 2012-02-17 04:03:36
要包含计数的数量,只需设置labels=TRUE即可。
下面的示例只是对hist()帮助页面上的示例稍作修改:
hist(islands, col="gray", labels = TRUE, ylim=c(0, 45))

获取百分比要稍微复杂一些。我知道的唯一方法是直接操作调用hist()返回的对象,这在我对this similar question的回答中有更详细的描述
histPercent <- function(x, ...) {
H <- hist(x, plot = FALSE)
H$density <- with(H, 100 * density* diff(breaks)[1])
labs <- paste(round(H$density), "%", sep="")
plot(H, freq = FALSE, labels = labs, ylim=c(0, 1.08*max(H$density)),...)
}
histPercent(islands, col="gray")

发布于 2012-02-17 04:21:17
在条形图或直方图中的条形图顶部添加数字会扭曲条形图的视觉解释,甚至将标签放在靠近顶部的条形图内部会产生模糊的顶部效果,从而使查看者更难正确解释图形。如果感兴趣的是数字,那么这将创建一个布局不佳的表,为什么不直接创建一个合适的表。
如果你真的觉得有必要将数字相加,那么最好将它们放在条形图的下方或沿着顶部的空白处,这样它们就会更好地排列在一起,更容易进行比较,并且不会干扰图形的视觉解释。可以使用text或mtext函数将标签添加到基图中,x位置可以在hist函数的返回值中找到。可以使用grconvertY函数计算用于绘图的高度。
https://stackoverflow.com/questions/9317948
复制相似问题