我可以在ggplot2中获得boxplot凹槽吗?

Mat*_*ert 12 r ggplot2 boxplot

是的,我知道它已经存在,我也发现Hadley在谷歌团体的答案中说明了ggplot2箱形图还没有缺口.所以我的问题是双重的:这已经改变了(已经有一个本地的凹口实现),如果没有,那么可以做些什么.

我的意思是我不需要缺口光学元件,代表一些阴影区域的置信区间,它适合放置在盒子图上的另一层中,看起来也不错.

还添加了一个屏幕截图,因为我听说没有图形,图形问题永远不会完整 在此输入图像描述

koh*_*ske 17

更新 除了下面详述的选项外,ggplot2版本0.9.0 还包括此功能geom_boxplot.检查?geom_boxplot揭示了一个notch和notchwidth论点:

+ geom_boxplot(notch = TRUE, notchwidth = 0.5)
Run Code Online (Sandbox Code Playgroud)

不是优雅的图形,但这是一个例子:

# confidence interval calculated by `boxplot.stats`
f <- function(x) {
    ans <- boxplot.stats(x)
    data.frame(ymin = ans$conf[1], ymax = ans$conf[2])
}

# overlay plot (upper panel below)
p <- ggplot(iris, aes(Species, Sepal.Length)) + geom_boxplot() +
  stat_summary(fun.data = f, geom = "linerange", colour = "skyblue", size = 5)
p

# base graphics (lower panel below)
boxplot(Sepal.Length ~ Species, data = iris, notch = TRUE)
Run Code Online (Sandbox Code Playgroud)

你可以通过调整参数来改变CI栏的表现stat_summary.

在此输入图像描述 在此输入图像描述

横杆版本:

f <- function(x) {
  ans <- boxplot.stats(x)
  data.frame(ymin = ans$conf[1], ymax = ans$conf[2], y = ans$stats[3])
}

p <- ggplot(iris, aes(Species, Sepal.Length)) + 
  geom_boxplot(width = 0.8) +
  stat_summary(fun.data = f, geom = "crossbar", 
    colour = NA, fill = "skyblue", width = 0.8, alpha = 0.5)
p
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述