12.9 Exportar gráficos

Exportar los gráficos que hemos creado es un proceso que puede parecer un poco confuso.

Cuando llamamos una de estas funciones, le estamos indicando a R que “mande” nuestro gráfico a un dispositivo gráfico (graphic device) en nuestra computadora, donde podemos verlo, que por defecto es una ventana en nuestro escritorio o el panel Plot si estás usando RStudio.

Una consecuencia de esto es que si creas y lo mandas a un dispositivo gráfico en uso, el gráfico nuevo reemplazará al anterior. Por ejemplo, si usas plot() para crear un gráfico, se mostrará en una ventana de tu escritorio, pero si usas plot() de generar un gráfico distinto, el contenido de esta ventana será reemplazada con este nuevo gráfico. Lo mismo pasa con todos los dispositivos gráficos.

Además, los gráficos no pueden ser guardados en un objetos para después ser exportados. Es necesario mandar nuestros gráficos a un dispositivo como JPG, PNG o algún otro tipo de archivo que pueda ser almacenado en nuestro disco duro.

Para exportar un gráfico usamos alguna de las siguientes funciones, cada una corresponde con un tipo de archivo distinto. No son las únicas, pero son las más usadas.

  • bpm()
  • jpeg()
  • pdf()
  • png()
  • tiff()

Cada una de estas funciones tiene los siguientes argumentos tres argumentos principales.

  • filename: El nombre y ruta del archivo de imagen a crear. Si no especificamos una ruta completa, entonces el el archivo será creado en nuestro directorio de trabajo.
  • width: El ancho del archivo de imagen a crear, por defecto en pixeles.
  • height: El alto del archivo de imagen a crear, por defecto en pixeles.

La manera de utilizar estas funciones llamándolas antes de llamar a una función que genere una gráfica. Al hacer esto, le indicamos a R que en lugar de mandar nuestro gráfico a una ventana del escritorio, lo mande a un dispositivo gráfico distinto.

Finalmente, llamamos a la función dev.off(), para cerrar el dispositivo gráfico que hemos elegido, de este modo se creará un archivo y podremos crear más gráficos después.

Por ejemplo, para exportar un gráfico con leyenda como un archivo PNG llamamos lo siguiente. Nota que tenemos que dar la misma extensión de archivo que la función que estamos llamando, en este caso .png.

png(filename = "loan_age.png", width = 800, height = 600)
plot(x = banco$age, y = banco$duration, col = banco$loan, 
     main = "Edad y Duración", xlab = "Edad", ylab = "Duración")
legend(x = "top", legend = c("No", "Yes"), fill = c("Black", "Red"), 
       title = "Loan")
dev.off()
## png 
##   2

Si aparece un mensaje como el siguiente, es que hemos tenido éxito.

null device 1

Podemos ver el resultado usando file.show().

file.show("loan_age.png")

De esta manera podemos exportar cualquier tipo de gráfico generado con R.