在R中为多面板刻面ggplot设置相同的y-lim

时间:2019-07-11 07:26:41

标签: r ggplot2 axis facet

我正在生成一个多面图,我想为所有面板设置相同的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 个答案:

答案 0 :(得分:3)

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