2015-08-15 3 views
2

Я рисую гистограмму с использованием ggplot2 и накладывая график плотности (в черном). Затем я накладываю график нормальной плотности (красным).Добавить легенду гистограммы ggplot с наложенными графиками плотности

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 

В настоящее время, сюжет выглядит, как я хочу, чтобы это выглядело, но отсутствует легенда, объясняющая черные и красные участки плотности, и я не мог понять, как добавить их.

enter image description here

Я учусь R и любая помощь будет принята с благодарностью.

+0

Вы должны убедиться, что у вас есть данные в нужном формате, чтобы получить легенду автоматически определяемый переменной группирования. Проверьте здесь: http://www.cookbook-r.com/Graphs/Plotting_distributions_(ggplot2)/ – AntoniosK

+0

См. Этот ответ для возможного решения. Единственное различие заключается в том, что вы используете 'stat_function' и' geom_density', а не 'geom_vline': http://stackoverflow.com/questions/24438462/creating-legend-in-geom-histogram-for-elements-created-from- geom-vline – MrFlick

+0

Спасибо за ваши ответы. – dvd940

ответ

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 

enter image description here

+0

Спасибо. Я ценю вашу помощь. – dvd940

Смежные вопросы