我有一个关于如何更改/自定义ggplot2创建的箱线图上缺口上限和下限的问题。我查看了函数stat_boxplot,发现ggplot用等式中位数+/- 1.58 * iqr / sqrt(n)计算陷波限制。然而,不是那个等式,我想用我自己的上限和下限限制来改变它。
我的数据有4个因素,对于每个因素,我计算了中位数并做了一个自举以获得该中位数的95%置信区间。因此,最后我想改变每个箱图,使其具有自己独特的缺口上限和下限。
我不确定这在ggplot中是否可行,并且想知道人们是否知道如何做到这一点?
再次感谢!
答案 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
无论如何,希望这是一种有效的方法,对其他人有帮助。