如何在facet_grid的每个分面中显示X轴刻度而非仅在最下方分面?
解决方法
要让facet_grid的每个分面都显示X轴刻度,你可以通过以下两种方式实现:
方式一:强制显示统一刻度
如果希望所有分面保持相同的X轴刻度范围,只需在theme()中强制开启X轴刻度和文本的显示,同时调整分面标题位置避免遮挡:
library(tidyverse) mtcars |> ggplot(aes(x=wt, y=mpg)) + geom_point() + facet_grid(cyl~.) + theme( axis.text.x = element_text(), # 显示X轴刻度文本 axis.ticks.x = element_line(), # 显示X轴刻度线 strip.placement = "outside" # 将分面标题移至X轴上方 )
方式二:使用自由适配刻度
如果允许每个分面的X轴刻度范围根据自身数据调整,可在facet_grid()中添加scales = "free_x"参数,每个分面会自动显示适配自身数据的X轴刻度:
library(tidyverse) mtcars |> ggplot(aes(x=wt, y=mpg)) + geom_point() + facet_grid(cyl~., scales = "free_x")
内容的提问来源于stack exchange,提问作者Joe
相关产品推荐
相关产品推荐

