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

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


生成此图:

r - ggplot将刻度添加到facet_wrap中的每个图-LMLPHP

我想在此情节中画上勾号:
r - ggplot将刻度添加到facet_wrap中的每个图-LMLPHP

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

最佳答案

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

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


r - ggplot将刻度添加到facet_wrap中的每个图-LMLPHP

但是,正如您所看到的和语法所建议的那样,它还释放了每个图的限制以进行自动调整,因此,如果希望它们全部保持一致,则需要使用xlimlims或:

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")


r - ggplot将刻度添加到facet_wrap中的每个图-LMLPHP

08-19 20:07