如何在ggplot boxplot中自定义槽口

时间:2014-08-23 16:15:38

标签: r ggplot2 boxplot

我有一个关于如何更改/自定义ggplot2创建的箱线图上缺口上限和下限的问题。我查看了函数stat_boxplot,发现ggplot用等式中位数+/- 1.58 * iqr / sqrt(n)计算陷波限制。然而,不是那个等式,我想用我自己的上限和下限限制来改变它。

我的数据有4个因素,对于每个因素,我计算了中位数并做了一个自举以获得该中位数的95%置信区间。因此,最后我想改变每个箱图,使其具有自己独特的缺口上限和下限。

我不确定这在ggplot中是否可行,并且想知道人们是否知道如何做到这一点?

再次感谢!

1 个答案:

答案 0 :(得分:2)

我想我最终有点自己想出来但已经投了1票了!! !!

无论如何,我已经找到了一种方法来使用ggplot和ggplot_build函数自定义绘图上的凹槽。

用box:

绘制一个箱线图
p<-ggplot(combined,aes(x=foo,y=bar)) + geom_boxplot(notch=TRUE)

不确定ggplot_build究竟发生了什么,但似乎它将绘图转换为数据帧ish结构,因此可以根据需要对其进行操作。

gg<-ggplot_build(p)

算账:

gg$data[[1]]$notchlower
gg$data[[1]]$notchupper

包含绘图的缺口限制,您基本上可以使用以下内容进行更改:

gg$data[[1]]$notchlower<-50
gg$data[[1]]$notchupper<-100

如果你有多个箱图,并想单独更改每个箱图:

gg$data[[1]]$notchlower[1]<-50
gg$data[[1]]$notchlower[2]<-50
....
gg$data[[1]]$notchlower[n]<-50

gg$data[[1]]$notchupper[1]<-100
gg$data[[1]]$notchupper[2]<-100
....
gg$data[[1]]$notchupper[n]<-100

无论如何,希望这是一种有效的方法,对其他人有帮助。