2016-01-26 1 views
0

Я пытаюсь добавить эти два образца в одну гистограмму с одним слоем для a и другого слоя для b. После графика, как добавить легенду в график?Добавление легенды на слой qplot с двумя данными в одной гистограмме

a <- rnorm(50,10,1) 
    b <- rnorm(100,10,2) 
    qplot(a,binwidth = 0.5,fill = "Red")+geom_histogram(b,fill="Blue",alpha = 0.2) 

Он дал следующее сообщение: Ошибка: Mapping должен быть создан с помощью aes() или aes_()

Спасибо вам

+0

Используйте data.frame в длинном формате. –

+0

@ Паскаль вы могли бы подробнее рассказать? –

ответ

2

Учитывая

library(ggplot2) 
set.seed(1) 
a <- rnorm(50,10,1) 
b <- rnorm(100,10,2) 

вы могли бы сделать

qplot(a,binwidth = 0.5,fill = "Red") + 
    geom_histogram(aes(b), as.data.frame(b), fill="Blue",alpha = 0.2) 

или

df <- stack(list(a=a, b=b)) 
ggplot(df, aes(x=values, fill=ind)) + geom_histogram(alpha=.5, binwidth = 0.5) 

(Последний из них называется long-format как отмечено @Pascal.)

+0

Большое вам спасибо –