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))
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.
# 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.
# 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.
# 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:
# 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