2016-10-07

Obtener celdas cuadradas en lugar de rectangulares con geom_tile en ggplot2

Problema

Tenemos el siguiente gráfico cuyas celdas, creadas con geom_tile, son rectángulos. ¿Cómo conseguimos que sean cuadrados con ggplot2?

set.seed(1)
df <- data.frame(val = rnorm(100), 
                 gene = rep(letters[1:20], 5), 
                 cell = c(sapply(LETTERS[1:5], 
                                 function(l) rep(l, 20))))
library(ggplot2)
ggplot(df, aes(y = gene, x = cell, fill = val)) +
  geom_tile(color = "white")

Solución

Añadimos coord_equal( ). Por defecto, el argumento es ratio = 1, y asegura que una unidad en el eje x tenga la misma longitud que una unidad en el eje y.

ggplot(df, aes(y = gene, x = cell, fill = val)) +
  geom_tile(color = "white") +
  coord_equal()

Referencias

Entradas relacionadas

No hay comentarios:

Publicar un comentario

Nube de datos