To nie jest piękne: Możesz zmienić rodzinę etykiet z legend na poziomie grob
(nie znam innego sposobu, ale spodziewam się, że jest).
Najpierw dodaj colour
do estetyki, aby legenda została automatycznie utworzona, a następnie ustaw kolory ręcznie, przy czym scale_colour_manual
zachowa je tak jak poprzednio. Następnie dostosuj szczegóły legendy, aby zmienić etykiety i czcionki w kluczu.
library(ggplot2)
library(grid)
p <- ggplot(mtcars, aes(x=wt, y=mpg, colour=factor(am), label=rownames(mtcars))) +
geom_text(aes(family=c("serif", "mono")[am+1])) +
scale_colour_manual(values=c('0'= "#000000FF", '1'="#000000FF"),
name="am") +
theme(legend.text=element_text(size=16),
legend.key.width=unit(2, "cm"))
g <- ggplotGrob(p)
# change labels and fonts
g$grobs[[8]]$grobs[[1]]$grobs[[4]]$label <- "mono"
g$grobs[[8]]$grobs[[1]]$grobs[[4]]$gp$fontfamily <- "mono"
g$grobs[[8]]$grobs[[1]]$grobs[[6]]$label <- "serif"
g$grobs[[8]]$grobs[[1]]$grobs[[6]]$gp$fontfamily <- "serif"
grid.newpage()
grid.draw(g)
uh to jest dziwne, ktoś miał * * odpowiedział już to kilka dni z powrotem, a ja po prostu o do przyjęcia i wdrożenia, ale teraz jest już odpowiedź ... Co z tym? – maxheld