Cree una visualización Ggplot2 con un fondo transparente

Jesse John 15 febrero 2024
  1. Crear una visualización con un fondo transparente
  2. Exportar la visualización a un archivo PNG
Cree una visualización Ggplot2 con un fondo transparente

Este tutorial demuestra cómo crear una visualización ggplot2 con un fondo transparente y exportarla a un archivo .png usando la función ggsave().

Crear una visualización con un fondo transparente

Para crear una visualización ggplot2 con un fondo transparente, necesitamos establecer el valor de dos elementos del tema, panel.background y plot.background.

Necesitamos establecer sus propiedades de relleno y color en NA usando la función element_rect(), como se muestra en el código de ejemplo. El primer gráfico muestra la diferencia entre los dos fondos.

El segundo gráfico tiene un fondo transparente porque las propiedades de relleno y color de ambos fondos están establecidas en NA.

Código de ejemplo:

# First, we'll create some sample data.
set.seed(5445)
H = rnorm(40, 2, 5)
set.seed(4554)
V = 2*H**3 + rnorm(40, 0, 200)
dafr = data.frame(H,V)

# Install the ggplot2 if it is not available.
# Uncomment and run the following line to install.
# install.packages("ggplot2")

# Load the ggplot2 package.
library(ggplot2)

# See the panel and plot backgrounds.
ggplot(data=dafr, aes(x=H, y=V)) + geom_point() +
  theme(panel.background = element_rect(fill="khaki", color="magenta"),
        plot.background = element_rect(fill="seagreen1", color="blue"))

# Create a plot with a transparent background.
# Set both backgrounds to NA. Also, set the border colours to NA.
ggplot(data=dafr, aes(x=H, y=V)) + geom_point() +
  theme(panel.background = element_rect(fill=NA, color=NA),
        plot.background = element_rect(fill=NA, color=NA))

Producción:

Los dos antecedentes:

crear una visualización ggplot2 con un fondo transparente - dos colores de fondo

Imagen con fondo transparente:

crear una visualización ggplot2 con un fondo transparente - líneas blancas de fondo transparente

No podemos ver las líneas del eje de la imagen y las líneas de la cuadrícula contra un fondo de página en blanco porque estas líneas son blancas en el tema predeterminado de ggplot2.

Podemos establecer el eje y las líneas de la cuadrícula en los colores deseados usando las propiedades del tema axis.line, panel.grid.major y panel.grid.minor. Los colores se establecen mediante la función element_line(), como se muestra a continuación.

Código de ejemplo:

ggplot(data=dafr, aes(x=H, y=V)) + geom_point() +
  theme(panel.background = element_rect(fill=NA, color=NA),
        plot.background = element_rect(fill=NA, color=NA),
        axis.line = element_line(color="black"),
        panel.grid.major = element_line(colour = "gray50"),
        panel.grid.minor = element_line(color = "gray70"))

Producción:

crear una visualización ggplot2 con un fondo transparente - líneas de color de fondo transparente

Ahora podemos ver el eje y las líneas de la cuadrícula sobre un fondo transparente.

Exportar la visualización a un archivo PNG

Para exportar la visualización a un archivo PNG, utilizaremos la función ggsave() de ggplot2. Primero, asigne al nombre del archivo la extensión .png para crear un archivo PNG. Luego, el comando guarda el último gráfico mostrado en un archivo.

La ruta del archivo por defecto es el directorio de trabajo de R. La función ggsave() tiene opciones para controlar el tamaño y la resolución de la imagen generada.

Código de ejemplo:

ggsave("ggplotTransparentBGSampleImage.png")

Producción:

Guardará un archivo llamado ggplotTransparentBGSampleImage.png en el directorio de trabajo de R.

Autor: Jesse John
Jesse John avatar Jesse John avatar

Jesse is passionate about data analysis and visualization. He uses the R statistical programming language for all aspects of his work.

Artículo relacionado - R Plot