ggplot 在 facet_wrap 中为每个图添加刻度

ggplot add ticks to each plot in a facet_wrap

我想在 facet_wraps 中上行的图上显示 x 轴刻度。例如:

library(ggplot2)
ggplot(diamonds, aes(carat)) +  facet_wrap(~ cut, scales = "fixed") +  geom_density()

生成此图:

我想要有刻度线,因为我在这个图上画了:

有没有简单的方法可以达到这个结果?

使用 scales = "free_x" 向每个图添加 x 轴:

ggplot(diamonds, aes(carat)) + 
    geom_density() + 
    facet_wrap(~cut, scales = "free_x")

然而,如您所见和语法建议,它还释放了每个图的限制以自动调整,因此如果您希望它们全部一致,则需要使用 xlim, limsscale_x_continuous:

ggplot(diamonds, aes(carat)) + 
    geom_density() + 
    xlim(range(diamonds$carat)) + 
    # or lims(x = range(diamonds$carat))    
    # or scale_x_continuous(limits = range(diamonds$carat))
    facet_wrap(~cut, scales = "free_x")