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:
Imagen con 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:
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.