我早些时候曾经问过一个相同的问题。 ggplot legend - scale_colour_manual not working
但是这个问题涉及的数据集比我在这里有点复杂,答案表明重组数据然后使用重组数据。但是,即使是简单的数据,问题仍然存在,如下所示,我无法解决。所以请不要将其标记为重复。
问题:在ggplot2中使用scale_colour_manual
时,图例未显示。
p <- data.frame(a = runif(10, 1, 2))
ggplot(data=p, aes(x=a)) +
geom_histogram() +
geom_vline(aes(xintercept=mean(p$a), colour="mea")) +
geom_vline(aes(xintercept=median(p$a), colour="med")) +
scale_colour_manual(name="Statistic",
values=c("med"= "red", "mea"="green"))
感谢任何帮助。
答案 0 :(得分:5)
您必须在show_guide=TRUE
中使用geom_vline
(默认为FALSE
):
p <- data.frame(a = runif(10, 1, 2))
ggplot(data=p, aes(x=a)) +
geom_histogram() +
geom_vline(aes(xintercept=mean(a), colour="mea"), show_guide=TRUE) +
geom_vline(aes(xintercept=median(a), colour="med"), show_guide=TRUE) +
scale_colour_manual(name="Statistic",
values=c("med"= "red", "mea"="green"))