ggplot图例不使用scale_colour_manual

时间:2015-11-17 22:52:03

标签: r ggplot2 legend

我早些时候曾经问过一个相同的问题。 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"))

感谢任何帮助。

1 个答案:

答案 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"))

plot