2015-11-06 2 views
-1
ggplot(d,aes(x= `Log Number`)) + 
    geom_histogram(data=subset(d,state == 'c'),fill = "red", alpha = 0.2) + 
    geom_histogram(data=subset(d,state == 'l'),fill = "blue", alpha = 0.2) + 
    geom_histogram(data=subset(d,state == 't'),fill = "green", alpha = 0.2) 

д представляет собой набор данных содержит только два столбца войти номер, который представляет собой длинный список числа, состояние, которое является одним из факторов содержит 3 уровня-C, L, T я пытался использовать его для построения перекрывающейся гистограммы, но он просто возвращает один. Благодаряggplot2 мульти-гистограмма график, только одна гистограмма

the graph it produced

ответ

0

Хм, я не знаю, я думаю, что ваши данные не так. Работал для меня:

lon <- log(rnorm(1000,exp(6))) 
state <- sample(c("c","l","t"),1000,replace=T) 
d <- data.frame(lon,state) 
names(d) <- c("Log Number","state") 
head(d) 

дает следующие данные:

Log Number state 
1 5.999955  t 
2 5.997907  c 
3 6.002452  l 
4 5.994471  l 
5 5.997306  l 
6 6.000798  t 

А потом сюжет:

ggplot(d,aes(x= `Log Number`)) + 
    geom_histogram(data=subset(d,state == 'c'),fill = "red", alpha = 0.2) + 
    geom_histogram(data=subset(d,state == 'l'),fill = "blue", alpha = 0.2) + 
    geom_histogram(data=subset(d,state == 't'),fill = "green", alpha = 0.2) 

выглядит следующим образом: enter image description here

+0

и, извините, не могли бы вы рассказать мне, как добавить легенду для этого –

+0

Хмм, глядя на это сейчас. Не так просто. –

2

Вы хотите, чтобы заполнить по статусу

ggplot(d, aes(x = `Log Number`, fill = state)) + geom_histogram() 
+0

Я попробовал ваше предложение по моему генерируемые данные. Выглядит неправильно. Как трехцветный флаг. –

+0

Интересно, что ваше решение работает, если я заменю backticks вместо одиночных кавычек в Log Number. Итак, 'Log Number' (с backtics) вместо' 'Log Number''. Не совсем то, чего хотел ОП, но ближе. WTH это делает? –

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