Márgenes en ggplot2

Los márgenes de los gráficos hechos con ggplot2 se ajustarán de manera automática a las nuevas capas, e.g. si añades un título. Hemos agregado un borde negro alrededor del gráfico de muestra para que puedas ver cómo cambian los márgenes.

library(ggplot2)

ggplot() +
  stat_function(fun = dnorm, geom = "density",
                xlim = c(-4, 4),
                fill = rgb(0, 0, 1, 0.1)) + 
  theme(plot.background = element_rect(color = 1,
                                       size = 1))

Márgenes por defecto en ggplot2

Incrementar los márgenes

Para modificar los márgenes del gráfico pasa la función margin dentro del componente plot.margin de la función theme.

library(ggplot2)

ggplot() +
  stat_function(fun = dnorm, geom = "density",
                xlim = c(-4, 4),
                fill = rgb(0, 0, 1, 0.1)) + 
  theme(plot.background = element_rect(color = 1,
                                       size = 1),
        plot.margin = margin(t = 20,  # Margen superior
                             r = 50,  # Margen derecho
                             b = 40,  # Margen inferior
                             l = 10)) # Margen izquierdo

Incrementar los márgenes en centímetros en ggplot2

Los márgenes se miden con puntos ("pt"), pero puedes usar otra unidad de medida en el argumento unit, como centímetros. Escrible ?unit para ver todas las posibles medidas.

library(ggplot2)

ggplot() +
  stat_function(fun = dnorm, geom = "density",
                xlim = c(-4, 4),
                fill = rgb(0, 0, 1, 0.1)) + 
  theme(plot.background = element_rect(color = 1,
                                       size = 1),
        plot.margin = margin(t = 1,  # Margen superior
                             r = 1,  # Margen derecho
                             b = 3,  # Margen inferior
                             l = 2,  # Margen izquierdo
                             unit = "cm")) 

Eliminar los márgenes

Para eliminar los márgenes establece todos los valores a 0. Ten en cuenta que todavía quedará espacio para que entren todos los elementos del gráfico. Puedes pasar valores negativos para reducir más los márgenes.

library(ggplot2)

ggplot() +
  stat_function(fun = dnorm, geom = "density",
                xlim = c(-4, 4),
                fill = rgb(0, 0, 1, 0.1)) + 
  theme(plot.background = element_rect(color = 1,
                                       size = 1),
        plot.margin = margin(t = 0,  # Margen superior
                             r = 0,  # Margen derecho
                             b = 0,  # Margen inferior
                             l = 0)) # Margen izquierdo

Eliminar los márgenes en ggplot2

Puedes recordar el orden de los argumentos de la función margin (t, r, b, l) recordando la palabra trabalenguas.

Better Data Visualizations

A Guide for Scholars, Researchers, and Wonks

Comprar en Amazon
Storytelling con Datos

Visualización de datos para profesionales

Comprar en Amazon
Data Sketches

A journey of imagination, exploration, and beautiful data visualizations

Comprar en Amazon

También te puede interesar