小平面标签合并成单行ggplot2

Facet label merging into a single row ggplot2

我在 R 中使用 ggplot 创建了以下图:

代码:

ggplot(hola, aes(.fitted, .resid, color=type)) +
       geom_point() +
       geom_hline(yintercept = 0, color="black") +
       geom_smooth(se = FALSE, color="darkblue")+facet_wrap( type~exp, scales = "free") +
        scale_color_manual(values=c("#5fb772", "#5fabb7"))

但是,我认为 facet_wrap 标签看起来太大,使整体图形看起来失衡;有没有办法以更好看的方式显示它?喜欢将 df 的两列合并为一列?或将分面标签合并成一行?

PD:顺便说一下,使用 facet_grid 不是一个选项,因为 mu 和 abs 的 X 轴不同。

这有帮助吗?

ggplot(hola, aes(.fitted, .resid, color=type)) +
       geom_point() +
       geom_hline(yintercept = 0, color="black") +
       geom_smooth(se = FALSE, color="darkblue")+
       facet_wrap( type~exp, scales = "free", labeller = label_wrap_gen(multi_line=FALSE)) +
       scale_color_manual(values=c("#5fb772", "#5fabb7"))
ggplot(hola, aes(.fitted, .resid, color=type)) +
   geom_point() +
   geom_hline(yintercept = 0, color="black") +
   geom_smooth(se = FALSE, color="darkblue")+
   facet_wrap(paste(type, exp, sep = ":"), scales = "free") +
   scale_color_manual(values=c("#5fb772", "#5fabb7"))

例如,这只是为 typeexp 的每个级别创建一个新的匿名变量,其值为 "abs: exp_F"。然后每个面板只有一排标签。