ggplot图例不使用scale_colour_manual

Mr *_*r K 4 r legend ggplot2

我知道之前已经提出了一个相同的问题.ggplot图例 - scale_colour_manual无效

但问题涉及的数据集比我在这里的数据集有点复杂,答案表明重组数据然后使用重组数据.但是,即使是简单的数据,问题仍然存在,如下所示,我无法解决.所以请不要将其标记为重复.

问题:scale_colour_manual在ggplot2中使用时,图例没有显示.

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"))
Run Code Online (Sandbox Code Playgroud)

任何帮助表示赞赏.

rcs*_*rcs 5

你必须使用show_guide=TRUEgeom_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"))
Run Code Online (Sandbox Code Playgroud)

情节