2015-10-04 2 views
2

Я думаю, что я делаю это намного сложнее, чем есть, но я не смог понять это.Как вы накладываете кривую на гистограмму с несколькими факторами?

Я по сути создал барный график из некоторых данных подсчета (по вектору), днем ​​(день вектора). В рамках сюжета я факторизую цвет обработкой (векторное лечение). То, что я хотел бы сделать, это наложить какую-то кривую, а не на бары. Мне больше всего интересно показать, где пики в векторе «подсчитываются» для каждого лечения.

Вот векторы внутри моей dataframe, которые я назвал «данные»

treat<-c(1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4) 
counts<-c(9,12,11,5,3,2,0,2,0,0,1,1,0,10,4,7,6,1,4,1,1,0,0,0,0,0,12,5,15,3,4,2,0,0,1,0,0,0,0,4,6,11,7,7,4,1,1,0,0,0,0,0) 
day<-c(1,2,3,4,5,6,7,8,9,10,11,12,13,1,2,3,4,5,6,7,8,9,10,11,12,13,1,2,3,4,5,6,7,8,9,10,11,12,13,1,2,3,4,5,6,7,8,9,10,11,12,13) 

q=ggplot(data, aes(x=factor(day), y=counts, fill=factor(treat), color=factor(treat))) 
q+geom_bar(stat= "identity", position=position_dodge(), width=.75) 

Благодарим Вас за взгляд!

ответ

2

Вы хотите что-то ищите?

data = data.frame(treat, counts, day) 

ggplot(data, aes(x=factor(day), y=counts, group=factor(treat), color=factor(treat))) + 
    geom_line(lwd=1) + 
    geom_point() 

Результат для этих данных немного сложно, но, возможно, он будет выглядеть лучше с вашими реальными данными. Или вы можете использовать огранку, как показано @Jaap.

enter image description here

Кроме того, вы можете упростить создание данных следующим образом:

treat = rep(1:4, each=13) 
day = rep(1:13, 4) 
2

Если вы хотите, чтобы показать пики count в каждом treat, то вы могли бы рассмотреть возможность использования фасетов либо facet_wrap или facet_grid. Пример с facet_wrap:

ggplot(data, aes(x=factor(day), y=counts, color=factor(treat), group=factor(treat))) + 
    geom_line() + 
    facet_wrap(~treat) 

, который дает следующий сюжет:

enter image description here

+0

О, я не знаю, почему я не думаю о geom_line .... сочетание работает слишком я уверен. Но да, я люблю обертывание фасета, и я думаю, что это хорошо показывает пики. Спасибо за помощь! – imapiratesavvy