Как установить одинаковое горизонтальное пространство на панели при использовании scale = "free_y"? - PullRequest
2 голосов
/ 11 апреля 2019
set.seed(3)

data <- tibble(Group = c(rep("g1", 10), rep("g2", 10), rep("g3", 10)), 
    Value = c(runif(10, min = 1, max=5), runif(10, min = 1, max=5), runif(10, min = -5, max=5)))

ggplot(data, aes(Group, Value)) + 
    geom_point() + 
    facet_wrap(~ Group, scales = "free")

Вы можете видеть, когда у с десятичными / отрицательными значениями пространство становится больше.

enter image description here

1 Ответ

3 голосов
/ 11 апреля 2019

Вы можете установить фиксированную ширину для меток по оси Y

ggplot(data, aes(Group, Value)) + 
  geom_point() + 
  facet_wrap(~ Group, scales = "free") +
  scale_y_continuous(labels = function(label) sprintf("%10.1f", label))

Или перевернуть график с помощью coor_flip()

ggplot(data, aes(Group, Value)) + 
  geom_point() + 
  facet_wrap(Group ~ ., scales = "free") +
  coord_flip()

Создано в 2019-04-10 с помощью представительного пакета (v0.2.1.9000)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...