Удалить место в нижней части фасета - PullRequest
0 голосов
/ 01 июля 2019

Я работаю над графиком с #ggplot и facet, но не получаю желаемого результата. С кодом, показанным ниже, я всегда получаю некоторое пространство между метками и барами

Даже при добавлении switch = "y" Я могу переместить заголовки фасетов влево, но пробел все еще там, даже используя axis.ticks = element_blank () .

Вот результаты, которых я придерживаюсь https://imgur.com/a/neTTpil

EDIT Благодаря @ StéphaneLaurent я добавил scale_y_continuous(expand = c(0,0)) Параметр, решающий проблему разрыва, теперь я должен заменить метку на фасет и наоборот

df=data.frame(
    CHANNEL=c("IN","IN","IN","OUT","OUT","OUT"),
    AGEING=c("A","B","C","A","B","C"),  
DELTA=c(4.84904880066170385,4.44191343963553464,3.32480818414322288,1.74081237911025144,1.86749666518452639,1.74672489082969418)
)
ggplot(df, aes(AGEING, DELTA, fill=CHANNEL)) +
    geom_bar(stat="identity") + coord_flip() +
    facet_grid(vars(CHANNEL), space = "free", switch="y") +
    theme(legend.position = "none",
        axis.ticks = element_blank(),
        axis.title.x = element_blank(),
        axis.title.y = element_blank()
        )

1 Ответ

0 голосов
/ 01 июля 2019

Помимо опции expand, упомянутой в комментариях к вашей первой проблеме, вы можете поместить facet labels снаружи с theme(strip.placement = "outside"):

ggplot(df, aes(AGEING, DELTA, fill=CHANNEL)) +
  geom_bar(stat="identity") + coord_flip() +
  facet_grid(vars(CHANNEL), space = "free", switch="y") +
  scale_y_continuous(expand = c(0,0)) +
  theme(legend.position = "none",
        axis.ticks = element_blank(),
        axis.title.x = element_blank(),
        axis.title.y = element_blank()
  ) +
  theme(strip.placement = "outside")

В результате: enter image description here

...