如何设置 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)
我有一个 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)