El paquete ggboy
intenta recrear el estilo original de la pantalla de la Game Boy (DMG-01). La función principal de la librería es ggboy
, que transforma la imagen de entrada de la siguiente manera.
# install.packages("remotes")
# remotes::install_github("cj-holmes/ggboy")
library(ggboy)
# Imagen
img <- "http://localhost:4321//images/favicon.png"
# Gráfico
ggboy(img)
Por defecto, la función aplica un difuminado a la imagen. Si quieres establece dither = FALSE
para evitarlo.
# install.packages("remotes")
# remotes::install_github("cj-holmes/ggboy")
library(ggboy)
# Imagen
img <- "http://localhost:4321//images/favicon.png"
# Gráfico
ggboy(img, dither = FALSE)
Las imágenes pueden ser ajustadas de diferentes maneras, como incrementar o reducir la resolución (res
), el número de colores (ncols
) o el recorte si no se usa un frame.
Alta resolución
# install.packages("remotes")
# remotes::install_github("cj-holmes/ggboy")
library(ggboy)
# Imagen
img <- "http://localhost:4321//images/favicon.png"
# Gráfico
ggboy(img, res = 300, ncols = 50)
Cambiando el número de colores
# install.packages("remotes")
# remotes::install_github("cj-holmes/ggboy")
library(ggboy)
# Imagen
img <- "http://localhost:4321//images/favicon.png"
# Gráfico
ggboy(img, ncols = 2, frame = 0)
Evitar recorte
# install.packages("remotes")
# remotes::install_github("cj-holmes/ggboy")
library(ggboy)
# Imagen
img <- "http://localhost:4321//images/favicon.png"
# Gráfico
ggboy(img, crop = FALSE)
Hay varias paletas de colores que puedes seleccionar tal y como se muestra en la imagen siguiente. También puedes pasar un vector de colores como en la función scale_fill_gradientn
.
# install.packages("remotes")
# remotes::install_github("cj-holmes/ggboy")
library(ggboy)
# install.packages("patchwork")
library(patchwork)
# install.packages("ggplot2")
library(ggplot2)
# install.packages("purrr")
library(purrr)
# Imagen
img <- "http://localhost:4321//images/favicon.png"
# Gráfico
wrap_plots(map(seq_along(palettes),
~ggboy(img, palette = .x) +
labs(title = .x)))
Existen seis tipos distintos de frames (marcos) disponibles, que pueden ser seleccionados con el argumento frame
. Los posibles valores son 0, 13, 14, 19, 20, 21 y 22.
# install.packages("remotes")
# remotes::install_github("cj-holmes/ggboy")
library(ggboy)
# install.packages("ggplot2")
library(ggplot2)
# Gráfico
frames_df %>%
ggplot(aes(x, y, fill = z))+
geom_raster() +
facet_wrap(~frame_n) +
scale_y_reverse() +
scale_fill_gradient(low = "black", high = "white")+
coord_equal() +
theme(legend.position = "none",
axis.title = element_blank(),
axis.text = element_blank(),
axis.ticks = element_blank())
La librería también permite incorporar una imagen dentro del cuerpo de una imagen real de la Game Boy, estableciendo graphic = TRUE
.
# install.packages("remotes")
# remotes::install_github("cj-holmes/ggboy")
library(ggboy)
# Imagen
img <- "http://localhost:4321/images/favicon.png"
# Gráfico
ggboy(img, graphic = TRUE)
Hay una función adicional llamada ggboy_gif
que permite simular la estética de la Game Boy en gifs.
# install.packages("remotes")
# remotes::install_github("cj-holmes/ggboy")
library(ggboy)
# Imagen
img <- "http://localhost:4321/images/gif/pokemon.gif"
# Gráfico
ggboy_gif(img)
Incluso puedes especificar otros argumentos como en la función anterior, como el cuerpo de la Game Boy.
# install.packages("remotes")
# remotes::install_github("cj-holmes/ggboy")
library(ggboy)
# Imagen
img <- "http://localhost:4321/images/gif/pokemon.gif"
# Gráfico
ggboy_gif(img, graphic = TRUE)
También te puede interesar