Facet labet合并为单行ggplot2

时间:2017-08-15 18:42:35

标签: r ggplot2 facet-wrap

我在R:

中使用ggplot创建了以下图表

enter image description here

代码:

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合并为一个?或者将facet标签合并在一行中?

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

2 个答案:

答案 0 :(得分:3)

这有帮助吗?

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

答案 1 :(得分:1)

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"。然后每个面板只有一行标签。