Gráficos marginales usando axis_canvas en cowplot: cómo insertar un espacio entre el panel principal y los gráficos marginales
Lo siguiente surgió en un comentario paraesta publicación: Al hacer tramas marginales con elaxis_canvas()
¿Cómo podemos crear una brecha entre la trama principal y la parcela marginal?
Código de ejemplo:
require(cowplot)
pmain <- ggplot(data = mpg, aes(x = cty, y = hwy, color = factor(cyl))) +
geom_point() +
xlab("City driving (miles/gallon)") +
ylab("Highway driving (miles/gallon)") +
theme_minimal()
xbox <- axis_canvas(pmain, axis = "x", coord_flip = TRUE) +
geom_boxplot(data = mpg, aes(y = cty, x = factor(cyl), color = factor(cyl))) +
scale_x_discrete() + coord_flip()
ybox <- axis_canvas(pmain, axis = "y") +
geom_boxplot(data = mpg, aes(y = hwy, x = factor(cyl), color = factor(cyl))) +
scale_x_discrete()
p1 <- insert_xaxis_grob(pmain, xbox, grid::unit(0.6, "in"), position = "top")
p2 <- insert_yaxis_grob(p1, ybox, grid::unit(0.6, "in"), position = "right")
ggdraw(p2)
Como podemos ver en este ejemplo, los diagramas de caja marginales tocan directamente el panel de diagrama principal. El objetivo es generar cierta brecha. ¿Cómo se puede hacer esto?