Desactivación de algunas leyendas en un ggplot


Supongamos que tengo un ggplot con más de una leyenda.

mov <- subset(movies, length != "")
(p0 <- ggplot(mov, aes(year, rating, colour = length, shape = mpaa)) +
  geom_point()
)

Puedo desactivar la visualización de todas las leyendas como esta:

(p1 <- p0 + theme(legend.position = "none"))

Pasando show_guide = FALSE a geom_point (según esta pregunta) desactiva la leyenda de la forma.

(p2 <- ggplot(mov, aes(year, rating, colour = length, shape = mpaa)) +
  geom_point(show_guide = FALSE)
)

Pero ¿qué pasa si quiero desactivar la leyenda de color en su lugar? No parece haber una manera de decir show_guide a qué leyenda aplicar su comportamiento. Y no hay show_guide argumento para escalas o estética.

(p3 <- ggplot(mov, aes(year, rating, colour = length, shape = mpaa)) +
  scale_colour_discrete(show_guide = FALSE) +
  geom_point()
)
# Error in discrete_scale

(p4 <- ggplot(mov, aes(year, rating, shape = mpaa)) +
  aes(colour = length, show_guide = FALSE) +
  geom_point()
)
#draws both legends

Esta pregunta sugiere que la forma moderna (desde ggplot2 v0.9.2) de controlar leyendas es con la función guides.

Quiero ser capaz de hacer algo como

p0 + guides(
  colour = guide_legend(show = FALSE) 
)

Pero guide_legend no tiene un argumento show.

¿Cómo puedo especificar qué leyendas se muestran?


Warning: Undefined property: agent_blog_content::$date_asked in /var/www/agent_etc/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 32

Warning: Undefined property: agent_blog_content::$count_answers in /var/www/agent_etc/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 52