Supponiamo che io abbia un ggplot con più di una legenda.
mov <- subset(movies, length != "")
(p0 <- ggplot(mov, aes(year, rating, colour = length, shape = mpaa)) +
geom_point()
)
Posso disattivare la visualizzazione di tutte le leggende in questo modo:
(p1 <- p0 + theme(legend.position = "none"))
Il passaggio show_guide = FALSEa geom_point(come da questa domanda ) disattiva la legenda delle forme.
(p2 <- ggplot(mov, aes(year, rating, colour = length, shape = mpaa)) +
geom_point(show_guide = FALSE)
)
E se invece volessi disattivare la legenda dei colori? Non sembra esserci un modo per dire a show_guidequale leggenda applicare il suo comportamento. E non c'è show_guideargomento per scale o estetica.
(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
Questa domanda suggerisce che il modo moderno (dal momento che ggplot2 v0.9.2) di controllare le leggende è con la guidesfunzione.
Voglio essere in grado di fare qualcosa del genere
p0 + guides(
colour = guide_legend(show = FALSE)
)
ma guide_legendnon ha un argomento show.
Come faccio a specificare quali legende vengono visualizzate?
ggplot2aggiornamento,show_guideè stato deprecato e sostituito dashow.legend.