Как добавить разные линии для фасетов

У меня есть данные, где я смотрю на разницу в росте между монокультурой и смешанной культурой для двух разных видов. Кроме того, я сделал график, чтобы мои данные были понятны.

Мне нужна гистограмма с планками погрешностей, весь набор данных, конечно, больше, но для этого графика это data.frameсо средствами для гистограммы.

plant           species     means
Mixed culture   Elytrigia   0.886625
Monoculture     Elytrigia   1.022667
Monoculture     Festuca     0.314375
Mixed culture   Festuca     0.078125

С этими данными я построил график в ggplot2, где plantнаходится на оси x -, а meansна оси y -, и я использовал фасет для разделения видов.

Это мой код:

    limits <- aes(ymax = meansS$means + eS$se, ymin=meansS$means - eS$se)
    dodge <- position_dodge(width=0.9)

    myplot <- ggplot(data=meansS, aes(x=plant, y=means, fill=plant)) + facet_grid(. ~ species) 
    myplot <- myplot + geom_bar(position=dodge) + geom_errorbar(limits, position=dodge, width=0.25)
    myplot <- myplot + scale_fill_manual(values=c("#6495ED","#FF7F50"))
    myplot <- myplot + labs(x = "Plant treatment", y = "Shoot biomass (gr)")  
    myplot <- myplot + opts(title="Plant competition")
    myplot <- myplot + opts(legend.position = "none")
    myplot <- myplot + opts(panel.grid.minor=theme_blank(), panel.grid.major=theme_blank())

Пока все в порядке. Однако я хочу добавить две разные горизонтальные линии в двух гранях. Для этого я использовал этот код:

    hline.data <- data.frame(z = c(0.511,0.157), species = c("Elytrigia","Festuca")) 
    myplot <- myplot + geom_hline(aes(yintercept = z), hline.data)

Однако, если я это сделаю, я получу график с двумя дополнительными гранями, где нанесены две горизонтальные линии. Вместо этого я хочу, чтобы горизонтальные линии были нанесены на грани с полосами, а не создавали две новые грани. Кто-нибудь знает, как это решить.

Я думаю, будет понятнее, если я поставлю график, который я создаю сейчас:

enter image description here

38
задан black_sheep07 11 May 2016 в 14:07
поделиться