Librería

ggdogs

Autor principal

R CODER

Perros diponibles

El paquete ggdogs permite agregar imágenes de perros en lugar de puntos en ggplot2 al usar la función geom_dog en lugar de geom_point.

Existen 15 tipos diferentes de perros disponibles en este momento, llamados "doge" (por defecto), "doge_strong", "chihuahua", "eyes", "gabe", "glasses", "tail", "surprised", "thisisfine", "hearing", "pug", "ears", "husky", "husky_2" y "chilaquil". Puedes pasar cualquiera de los textos anteriores a la función para usar las imágenes de perros correspondientes.

La siguiente figura muestra todos los perros disponibles:

# install.packages("remotes")
# remotes::install_github("R-CoderDotCom/ggdogs@main")
library(ggdogs)
# install.packages("ggplot2")
library(ggplot2)

grid <- expand.grid(1:5, 3:1)

df <- data.frame(x = grid[, 1],
                 y = grid[, 2],
                 image = c("doge", "doge_strong", "chihuahua",
                           "eyes", "gabe", "glasses",
                           "tail", "surprised", "thisisfine",
                           "hearing", "pug", "ears",
                           "husky", "husky_2", "chilaquil"))
                           
ggplot(df) +
 geom_dog(aes(x, y, dog = image), size = 5) +
 geom_text(aes(x, y - 0.5, label = image), size = 2.5) +
 xlim(c(0.25, 5.5)) + 
 ylim(c(0.25, 3.5))

ggdogs imágenes

Creando gráficos con perros con geom_dog

Dado un data frame puedes utilizar la función geom_dog de la misma manera que geom_point. La principal diferencia es que verás perros Doge en lugar de puntos por defecto. Ten en cuenta que puedes personalizar el tamaño de las imágenes con el argumento size de la función.

La función geom_dog en ggplot2

# install.packages("remotes")
# remotes::install_github("R-CoderDotCom/ggdogs@main")
library(ggdogs)
# install.packages("ggplot2")
library(ggplot2)

# Data frame de ejemplo
set.seed(1)
df <- data.frame(x = 1:10, y = rnorm(10))

# Gráfico
ggplot(df, aes(x = x, y = y)) +
 geom_dog(size = 5)

También puedes combinar gráficos habituales con geom_dogs. En el siguiente ejemplo estamos creando un gráfico de dispersión con la imagen de un perro y un texto.

ggdogs cambiar la imagen

# install.packages("remotes")
# remotes::install_github("R-CoderDotCom/ggdogs@main")
library(ggdogs)
# install.packages("ggplot2")
library(ggplot2)

# Data frame de ejemplo
set.seed(1)
df <- data.frame(x = 1:10, y = rnorm(10))

# Gráfico
ggplot(df, aes(x = x, y = y)) +
  geom_point(size = 3, color = 4) +
  geom_dog(aes(x = 7, y = -0.5), dog = "thisisfine", size = 5) +
  geom_label(aes(x = 7.75, y = -0.1, label = "This is fine"))

Ten en cuenta que si tu data frame contiene una columna con el nombre del perro correspondiente a cada punto de datos puede pasar esa columna al argumento dog a aes, de modo que cada punto tendrá el perro correspondiente.

Varios perros en ggdogs

# install.packages("remotes")
# remotes::install_github("R-CoderDotCom/ggdogs@main")
library(ggdogs)
# install.packages("ggplot2")
library(ggplot2)

# Data frame de ejemplo
set.seed(1)
df <- data.frame(x = 1:10, y = rnorm(10),
                 dog = c(rep("husky", 5),
                         rep("gabe", 5)))

# Gráfico
ggplot(df, aes(x = x, y = y, dog = dog)) +
  geom_dog(size = 5) 

Por último, se muestra otro ejemplo hecho con ggdogs que muestra a varios perros Doge:

Tamaño de los perros en ggdogs

# install.packages("remotes")
# remotes::install_github("R-CoderDotCom/ggdogs@main")
library(ggdogs)
# install.packages("ggplot2")
library(ggplot2)

# Data frame de ejemplo
set.seed(1)
df <- data.frame(x = 1:10, y = rnorm(10),
                 dog = c(rep("husky", 5),
                         rep("gabe", 5)))

# Gráfico
ggplot(df, aes(x = x, y = y)) +
  geom_dog(size = 2.5) +
  geom_dog(aes(x = 5, y = 0.25, dog = "doge_strong"), size = 12) 

También te puede interesar