如何设置 facet_grid() 以便 y-axis 仅显示每个实例中的最高值,而中间不显示任何值?

How can a facet_grid() be set up so that the y-axis only shows the uppermost value in each instance and nothing in between?

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

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

我在 facet_grid() 中设置了 scales="free",因此每个 y-axis 都是针对它所标识的组定制的。

但是,由于有很多 groups/titles,我希望每个方面网格上的 y-axis 只显示最上面的值,而不显示中间的所有值。例如,如果有 40 人死亡,他们被称为 "Mr.",那么我希望 "Mr." 方面网格上 y-axis 的顶部显示值 40,而在其下方没有其他内容。但是,如果只有一个人死亡,我不希望 y-axis 读取:0.00, 0.25, 0.50, 1.00 因为这些 "in-between" 值没有任何价值。

这能实现吗?

试试这个

custom_breaks <- function(x) range(x)

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