Gráfico por defecto
Por defecto, los gráficos de ggplot2 tienen un panel gris y un fondo blanco.
library(ggplot2)
# Datos de muestra
set.seed(123)
x <- 1:220
y <- x + rnorm(220, sd = 50)
df <- data.frame(x = x, y = y)
# Gráfico
ggplot(data = df, aes(x = x, y = y)) +
geom_point()
Puedes cambiar el color de fondo del panel estableciendo un element_rect
en el componente panel.background
de la función theme
de la siguiente manera.
library(ggplot2)
ggplot(data = mtcars, aes(x = mpg, y = cyl))+
geom_point() +
theme(panel.background = element_rect(fill = "#67c9ff"))
Opción 1
El componente panel.border
de la función theme
controla el color y el ancho del borde del panel con los argumentos color
y size
. Sin embargo, tendrás que establecer fill = "transparent"
para evitar ocultar los datos.
library(ggplot2)
ggplot(data = df, aes(x = x, y = y)) +
geom_point() +
theme_bw() +
theme(panel.border = element_rect(fill = "transparent", # Necesario para agregar el borde
color = 4, # Color del borde
size = 2)) # Ancho del borde
Opción 2
También puedes establecer un element_rect
para el componente panel.background
y modificar el color del borde con el argumento color
. Sin embargo esto no es lo recomendable, ya que no se sobrescribe el color del borde actual. Puedes comprobarlo con theme_bw
(observa que el borde negro está detrás del azul).
library(ggplot2)
ggplot(data = df, aes(x = x, y = y)) +
geom_point() +
theme_bw() +
theme(panel.background = element_rect(color = 4, # Color del borde
size = 2)) # Ancho del borde
El componente plot.background
de la función theme
permite modificar el color de fondo de la figura. Establece el color dentro del argumento fill
de element_rect
.
library(ggplot2)
ggplot(data = mtcars, aes(x = mpg, y = cyl))+
geom_point() +
theme(plot.background = element_rect(fill = "gray86")) # Color de fondo de la figura
También puedes establecer un color para el borde de toda la figura. Para ello pasa un element_rect
al componente plot.background
de la función theme
y modifica el color y el ancho del borde con los argumentos color
y size
, respectivamente.
library(ggplot2)
ggplot(data = df, aes(x = x, y = y)) +
geom_point() +
theme(plot.background = element_rect(color = "black", # Color del borde
size = 2)) # Ancho del borde
Vale la pena mencionar que existen montones de temas de ggplot2 disponibles que proporcionan distintos colores de fondo.
En este ejemplo hemos seleccionado el tema theme_dark
, que es uno de los temas predefinidos de ggplot2.
library(ggplot2)
ggplot(data = df, aes(x = x, y = y)) +
geom_point() +
theme_dark()
Ten en cuenta que el tema por defecto es theme_grey
(o theme_gray
).
Usa los selectores de color para cambiar el color del panel (izquierda) y el color de la figura (derecha) o genera colores aleatorios presionando el botón azul. Luego puedes copiar los colores y usarlos en tus gráficos.
También te puede interesar