Могу ли я получить метки boxplot в ggplot2? - PullRequest
12 голосов
/ 15 ноября 2011

Да, я знаю, что это было вокруг, я также нашел ответ Хэдли в группах Google, что еще нет отметок для ggplot2 коробок.Поэтому мой вопрос двоякий: изменилось ли это (уже есть нативная реализация меток), и если нет, то можно что-то с этим поделать.

Я имею в виду, что мне не нужна надрезная оптика, представляющая доверительные границы некоторой затененной области, которая соответствующим образом размещена в другом слое над блокпостом, тоже выглядела бы неплохо.

Также добавлен снимок экрана, потому что я слышал, что графический вопрос никогда не бывает завершенным без рисунка enter image description here

Ответы [ 2 ]

16 голосов
/ 15 ноября 2011

Обновление В дополнение к опциям, описанным ниже, версия 0.9.0 ggplot2 включает эту функцию в geom_boxplot. Изучение ?geom_boxplot показывает аргументы notch и notchwidth:

+ geom_boxplot(notch = TRUE, notchwidth = 0.5)

Не элегантная графика, но вот пример:

# 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)

Вы можете изменить внешний вид панели CI, настроив аргументы stat_summary.

enter image description here enter image description here

ригельная версия:

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

enter image description here

3 голосов
/ 16 декабря 2011

Может быть интересно, что в списке рассылки ggplot2-dev опубликовано сообщение о участках с надрезами .

Вы можете найти страницу разработки на GitHub .Пакет может быть установлен через:

# install.packages("devtools")
library(devtools)
install_github("ggplot2")
...