Удалить конечные точки из полос ошибок в ggplot2

Моя цель — создать boxplot в R (не обязательно с ggplot2, но это то, что я сейчас использую), которые стилистически похожи на этот пример, который я где-то нашел (минус текст):

boxplot-example

Вот код, который у меня есть до сих пор:

dat <- read.table(file = "https://www.dropbox.com/s/b59b03rc8erea5d/dat.txt?dl=1", header = TRUE, sep = " ")
library(ggplot2)
p <- ggplot(dat, aes(x = Subscale, y = Score, fill = Class))
p + stat_boxplot(geom = "errorbar", width = 1.2, size = 2.5, color = "#0077B3") +
  geom_boxplot(outlier.shape = NA, coef = 0, position = position_dodge(.9)) +
  scale_fill_manual(values = c("#66CCFF", "#E6E6E6")) +
  theme(panel.background = element_rect(fill = "white", color = "white"))

Что приводит к:

моя коробка

Очевидно, что есть много различий между тем, что у меня есть, и тем, что показывает пример, но сейчас я сосредоточен только на удалении конечных точек из полос погрешностей, под которыми я подразумеваю горизонтальные верхнюю и нижнюю части, созданные функцией stat_boxplot. Кто-нибудь знает, как я могу получить желаемый эффект?


person psychometriko    schedule 01.09.2016    source источник


Ответы (1)


width в геометрии errorbar управляет шириной горизонтальных конечных стержней, поэтому установите его на 0, чтобы удалить конечные стержни. Вам не хватает уклонения в слое stat_boxplot, поэтому вы можете добавить его, чтобы правильно уклониться от полос ошибок.

ggplot(dat, aes(x = Subscale, y = Score, fill = Class)) +
    stat_boxplot(geom = "errorbar", width = 0, size = 2.5, 
               color = "#0077B3", position = position_dodge(.9)) +
    geom_boxplot(outlier.shape = NA, coef = 0, position = position_dodge(.9)) +
    scale_fill_manual(values = c("#66CCFF", "#E6E6E6")) +
    theme(panel.background = element_rect(fill = "white", color = "white"))

введите описание изображения здесь

person aosmith    schedule 01.09.2016
comment
Вау, я НЕ думал, что это будет так просто! Большое спасибо! Я думал, что свойство ширины делает что-то совершенно другое. - person psychometriko; 01.09.2016