Как изменить ось Y без исключения данных (выбросы не показаны, но учитываются медианы)? - PullRequest
1 голос
/ 02 июня 2019

Нарисуйте коробку с ggplot2:

ggplot(datasilice, aes(x = Duree_exposition_4gpes, y = CD25plusCD127moinsFoxP3plus_num)) + 
  geom_boxplot(aes(fill= Duree_exposition_4gpes), colour = "black", outlier.shape = 1, show.legend = FALSE) +
  scale_y_continuous(limits=c(0, 160), breaks = seq(0,160,20))

Я получаю это:

с выбросами

Я не хочу показыватьвыбросы, поэтому я изменяю свой код на:

ggplot(datasilice, aes(x = Duree_exposition_4gpes, y = CD25plusCD127moinsFoxP3plus_num)) + 
  geom_boxplot(aes(fill= Duree_exposition_4gpes), colour = "black", outlier.shape = NA, show.legend = FALSE) +
  scale_y_continuous(limits=c(0, 160), breaks = seq(0,160,20))

И я получаю это:

без выбросов

Пока все хорошо.Теперь я хочу уменьшить ось Y, чтобы уменьшить пределы и разрывы:

ggplot(datasilice, aes(x = Duree_exposition_4gpes, y = CD25plusCD127moinsFoxP3plus_num)) + 
  geom_boxplot(aes(fill= Duree_exposition_4gpes), colour = "black", outlier.shape = NA, show.legend = FALSE) +
  scale_y_continuous(limits=c(0, 120), breaks = seq(0,120,20))

Но теперь посмотрим, как была изменена медиана для 2-го столбца?

измениласьмедиана

Итак, мой вопрос, как я могу изменить ось Y без исключения данных (выбросы не показаны, но учитываются медианы)?

Я пытался изменить только "разрывы" илитолько «ограничивает», но не делает то, что ожидал ...

1 Ответ

1 голос
/ 02 июня 2019

Да, это не интуитивное поведение (по крайней мере, оно выдает предупреждающее сообщение) .... Вам нужно использовать coord_cartesian, чтобы просто увеличить масштаб изображения без изменения данных. Ср

ggplot(mtcars, aes(x = cyl, y = mpg)) + 
+     geom_boxplot(aes(fill= cyl, group=cyl), colour = "black", outlier.shape = NA, show.legend = FALSE) +
+     coord_cartesian(ylim=c(0,25))

против

ggplot(mtcars, aes(x = cyl, y = mpg)) + 
+     geom_boxplot(aes(fill= cyl, group=cyl), colour = "black", outlier.shape = NA, show.legend = FALSE) +
+     scale_y_continuous(limits=c(0,25))
...