在直方图中添加一条垂直线以可视化平均值是否“可行”?
对我来说似乎还可以,但是我从未在教科书之类的书中见过,所以我想知道是否有某种惯例不这样做?
该图是针对学期论文的,我只是想确保我不会意外破坏一些非常重要的潜规则。:)
在直方图中添加一条垂直线以可视化平均值是否“可行”?
对我来说似乎还可以,但是我从未在教科书之类的书中见过,所以我想知道是否有某种惯例不这样做?
该图是针对学期论文的,我只是想确保我不会意外破坏一些非常重要的潜规则。:)
Answers:
当然,为什么不?
这是一个示例(我通过一个简单的Google搜索发现了数十个示例):
(图像来源是测量可用性博客,在这里。)
我看过均值,均值加上或减去标准差,各种分位数(例如中位数,四分位数,第10和第90个百分位数)都以各种方式显示。
您可以在信息的底部标记信息,而不是在曲线上划一条线,就像这样:
有与整个顶部而不是底部,箱线图的示例(许多之一被发现)在这里。
有时人们会在数据中标记:
(由于值四舍五入为整数,并且您看不到相对密度,因此我略微抖动了数据位置。)
此页面上有一个在Stata中完成的此类示例(请参见此处的第三个示例)
直方图最好加上一些额外的信息- 它们可能会自己产生误导
您只需要注意说明您的情节是由什么组成的!(对于初学者来说,您想要比我在这里使用的标题和x轴标签更好的标签。在图形标题中加上解释,以解释您在上面标记的内容。)
-
最后一个情节:
-
我的情节是在R中生成的。
编辑:
正如@gung推测的那样,它abline(v=mean...
被用来在整个图上绘制均线,并被用来绘制rug
数据值(尽管我实际使用rug(jitter(...
是因为数据被舍入为整数)。
这是一种在直方图和轴之间绘制箱形图的方法:
hist(Davis2[,2],n=30)
boxplot(Davis2[,2],
add=TRUE,horizontal=TRUE,at=-0.75,border="darkred",boxwex=1.5,outline=FALSE)
我不会列出所有功能,但是您可以在帮助(?boxplot
)中检查参数以找出它们的作用,然后自己使用它们。
但是,这不是一般的解决方案-我不保证它会像在这里一样正常工作(请注意,我已经更改了at
and boxwex
选项*)。如果您没有编写智能功能来处理所有事情,则必须注意所有事情,以确保它在做您想要的事情。
这是创建我使用的数据的方法(我试图显示Theil回归如何真正能够处理几个有影响力的异常值)。当我第一次回答这个问题时,碰巧是我正在玩的数据。
library("car")
add <- data.frame(sex=c("F","F"),
weight=c(150,130),height=c(NA,NA),repwt=c(55,50),repht=c(NA,NA))
Davis2 <- rbind(Davis,add)
*-的适当值at
约为-0.5倍boxwex
;如果您编写一个函数来执行此操作,那将是一个很好的默认设置;boxwex
需要以与箱图的y比例(高度)相关的方式进行比例缩放;我建议通常可以使用y上限的0.04到0.05倍。
边际图表的代码:
hist(Davis2[,2],n=30)
stripchart(jitter(Davis2[,2],amount=.5),
method="jitter",jitter=.5,pch=16,cex=.05,add=TRUE,at=-.75,col='purple3')
abline(v=mean(Davis2[,2]))
&rug(Davis2[,2])
我猜,但是您是如何在其中插入箱形图的呢?
boxplot
函数的几个参数外,它的聪明之处还没有。在boxplot
和之间,boxp
您可以毫不费力地做一些非常漂亮的事情。
at
和boxwex
等等...但充其量我只是做了几个地块那样的一年,而且每次都需要几秒钟到类型?箱线图并设置正确的选项。我认为只关注自己在做什么会更容易。