Cómo eliminar la leyenda de un gráfico en ggplot2

En publicaciones anteriores vimos cómo añadir facetas a nuestro gráfico a partir de una de las variables y cómo modificarlas. Sin embargo, si elegimos la misma variable para las facetas y para el color no tiene sentido añadir una leyenda. Por ello, hoy explicaremos cómo eliminar la leyenda de un gráfico de ggplot2.

library(ggplot2)

ggplot(msleep, aes(x=sleep_total, y=sleep_rem, color=vore)) +      
  geom_point() + 
  labs(title='El sueño de los mamíferos', 
       subtitle='Sueño REM frente a las horas totales de sueño', 
       caption='Proceedings of the National Academy of Sciences, 104 (3):1051-1056, 2007',
       x='Horas de sueño en total', y='Horas de sueño en fase REM') + 
  theme(plot.title=element_text(family='Anton', size=20),
        plot.subtitle=element_text(family='Anton'),
        axis.title.x = element_text(family='Anton', face='bold', hjust=1),
        axis.title.y = element_text(family='Anton', face='bold', hjust=1)) +
  facet_wrap('vore') -> p
p

La respuesta es sencilla aunque poco intuitiva. En la función theme() emplearemos el argumento legend.position='none' indicando que la posición de la misma es ninguna.

p + theme(legend.position='none')

Cómo cambiar la posición de la leyenda en ggplot2

Así mismo, si quisiéramos cambiar la leyenda de posición sólo necesitaríamos indicar su nueva posición a través de las opciones: top, bottom, left, right, véase arriba, abajo, izquierda o derecha respectivamente.

p + theme(legend.position='top')

Paula L. Casado
Paula L. Casado
Data Scientist

Científica de datos especializada en visualización de datos.

Relacionado