I know an identical question has been asked earlier. ggplot legend - scale_colour_manual not working
But the question involves a somewhat complicated dataset than what I have here and the answer suggests restructuring data and then works with restructured data. But the problem persists even with simple data as I have below and I can't solve it. So please don't mark it as duplicate.
The problem: when using scale_colour_manual
in ggplot2, the legend is not showing.
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"))
Any help is appreciated.
You have to use show_guide=TRUE
in geom_vline
(defaults to 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"))
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With