【问题标题】:Add legend to ggplot histogram with overlayed density plots使用叠加密度图将图例添加到 ggplot 直方图
【发布时间】:2015-11-08 16:06:23
【问题描述】:

我正在使用 ggplot2 绘制直方图并覆盖密度图(黑色)。然后我覆盖了一个正常的密度图(红色)。

set.seed(1234)
dat <- data.frame(cond = factor(rep(c("A","B"), each=200)), rating = c(rnorm(200),rnorm(200, mean=.8)))
plot <- ggplot(dat, aes(x = rating)) 
plot <- plot + geom_histogram(aes(y=..density..), color="black", fill = "steelblue", binwidth = 0.5, alpha = 0.2)
plot <- plot + geom_density()
plot <- plot + stat_function(fun = dnorm, colour = "red", args = list(mean = 0.3, sd = 1))
plot

目前,该图看起来像我想要的那样,但它缺少解释黑色和红色密度图的图例,我无法弄清楚如何添加它们。

我正在学习 R,任何帮助将不胜感激。

【问题讨论】:

标签: r plot ggplot2 legend density-plot


【解决方案1】:

一个选项是这个。首先使用aes(color = "Name you want") 包含图例标签,然后使用scale_colour_manual 添加颜色。

plot <- ggplot(dat, aes(x = rating))
plot <- plot + geom_histogram(aes(y = ..density..), color = "black", fill = "steelblue", binwidth = 0.5, alpha = 0.2)
plot <- plot + geom_density(aes(color = "Density"))
plot <- plot + stat_function(aes(colour = "Normal"), fun = dnorm, args = list(mean = 0.3, sd = 1)) + 
  scale_colour_manual("Legend title", values = c("black", "red"))
plot 

【讨论】:

  • 谢谢。感谢您的帮助。
猜你喜欢
  • 2020-06-01
  • 2021-03-14
  • 2015-07-29
  • 2018-11-26
  • 1970-01-01
相关资源
最近更新 更多