如何设置facet_grid()以使y轴仅显示每个实例中的最高值而两者之间没有任何内容?

时间:2017-07-12 00:53:16

标签: r ggplot2 facet-grid

我有一个facet_grid设置显示泰坦尼克号上基于他们头衔的人的存活率。

enter image description here

每一行显示标题范围(例如" Mr。"," Dr."等。)

我在scales="free"内设置了facet_grid(),因此每个y轴都适合其识别的组。

然而,由于有很多组/标题,我希望每个构面网格上的y轴只显示最高值而不是其间的所有值。例如,如果40人死亡,他们被称为"先生",那么我希望y轴的顶部位于"先生" facet网格显示值40,并且在此之下没有别的。但是,如果只有一个人死亡,我不希望y轴读取:0.00, 0.25, 0.50, 1.00,因为这些"中间"价值没有任何价值。

这可以实现吗?

1 个答案:

答案 0 :(得分:5)

试试这个

custom_breaks <- function(x) range(x)

ggplot(mpg, aes(displ, cty)) + geom_point() +
  facet_grid( cyl~., scales="free") +
  scale_y_continuous(breaks = custom_breaks)

enter image description here