首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用数据值或R中的百分比标记直方图条

如何使用数据值或R中的百分比标记直方图条
EN

Stack Overflow用户
提问于 2012-02-17 03:40:48
回答 2查看 80.3K关注 0票数 25

我想用柱状图的每个柱状图标记该柱状图中该柱状图中计数的数量或该柱状图中总计数的百分比。我相信一定有办法做到这一点,但我一直没能找到。这个页面有几张SAS直方图的图片,基本上做了我想做的事情(但网站似乎没有R版本):http://www.ats.ucla.edu/stat/sas/faq/histogram_anno.htm

如果可能,也可以根据需要灵活地将标签放在栏上或栏内的某个地方。

我正在尝试使用基本的R绘图工具来做这件事,但我也会对在ggplot2和晶格中做这件事的方法感兴趣。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-02-17 04:03:36

要包含计数的数量,只需设置labels=TRUE即可。

下面的示例只是对hist()帮助页面上的示例稍作修改:

代码语言:javascript
复制
hist(islands, col="gray", labels = TRUE, ylim=c(0, 45))

获取百分比要稍微复杂一些。我知道的唯一方法是直接操作调用hist()返回的对象,这在我对this similar question的回答中有更详细的描述

代码语言:javascript
复制
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")

票数 44
EN

Stack Overflow用户

发布于 2012-02-17 04:21:17

在条形图或直方图中的条形图顶部添加数字会扭曲条形图的视觉解释,甚至将标签放在靠近顶部的条形图内部会产生模糊的顶部效果,从而使查看者更难正确解释图形。如果感兴趣的是数字,那么这将创建一个布局不佳的表,为什么不直接创建一个合适的表。

如果你真的觉得有必要将数字相加,那么最好将它们放在条形图的下方或沿着顶部的空白处,这样它们就会更好地排列在一起,更容易进行比较,并且不会干扰图形的视觉解释。可以使用textmtext函数将标签添加到基图中,x位置可以在hist函数的返回值中找到。可以使用grconvertY函数计算用于绘图的高度。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9317948

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档