Установите тот же Y-Lim для многопанельного фасета ggplot в R - PullRequest
0 голосов
/ 11 июля 2019

Я создаю граненый график и хочу установить одинаковую ось y lim (0,250000) для всех панелей, но сохраняю ось x в том же формате, что и ниже facet_plot

Вот мой код:

ggplot(seqDepthDF_melt,aes(x=SampleID,y=value))+
  geom_bar(stat="identity",aes(fill=Step))+
  ylab("Million PE reads") +
  theme_bw()+
  facet_wrap(~ SampleName,scales = "free")+
  theme(axis.text.x = element_text(angle = 45, hjust = 1, size=rel(0.7)))+
  scale_fill_manual(values=wes_palette(n=3, name="GrandBudapest1"))

Есть ли у вас какие-либо предложения?

1 Ответ

3 голосов
/ 11 июля 2019

Документация для facet_wrap гласит:

scales: Должны ли шкалы быть фиксированными («по умолчанию», по умолчанию), свободными («свободными») или свободными в одном измерении («free_x»), "free_y")?

Таким образом, когда вы указываете "free_x", он свободен в измерении x, но обеспечивает одинаковый масштаб для всех графиков в измерении y.

Мы можем продемонстрировать это, используя набор данных mtcars:

library(ggplot2)

ggplot(mtcars, aes(mpg, gear)) +
  geom_point() +
  facet_wrap(~ am) +
  ggtitle("Fixed scales")

enter image description here

ggplot(mtcars, aes(mpg, gear)) +
  geom_point() +
  facet_wrap(~ am, scales = "free") +
  ggtitle("Free scales")

enter image description here

ggplot(mtcars, aes(mpg, gear)) +
  geom_point() +
  facet_wrap(~ am, scales = "free_x") +
  ggtitle("Free scales on x-axis")

enter image description here

...