Không đẹp: Bạn có thể thay đổi họ phông chữ của nhãn chú giải ở cấp grob
(tôi không biết cách nào khác, nhưng tôi mong đợi có).
Đầu tiên thêm colour
vào thẩm mỹ để chú giải được tạo tự động, sau đó đặt màu theo cách thủ công, với scale_colour_manual
để giữ chúng như trước. Sau đó, chỉnh sửa chi tiết chú giải, để thay đổi nhãn và phông chữ trong khóa.
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 này là kỳ quặc, một người nào đó * có * đã trả lời này một vài ngày trở lại, và tôi đã chỉ là về để chấp nhận và thực hiện điều đó, nhưng bây giờ câu trả lời đã biến mất ... gì với điều đó? – maxheld