Я пытаюсь объединить несколько графиков, но не хочу писать тонны кода, поэтому написал функцию
MYGRAPH.Leaf<-function(i){
ggplot(Leaf.hemi, aes(x=type, y=i, group=pot))+
geom_line(color="grey")+
geom_point(aes(color=host))+
#geom_text_repel()+
facet_wrap(.~hemiparasite)+
ylab(names(leaf.response.hemi[i]))+
newtheme
}
graphs<-lapply(leaf.response.hemi, MYGRAPH.Leaf)
ggarrange(graphs$K, graphs$Na, graphs$P, graphs$Ca, graphs$S, graphs$Mg, common.legend=TRUE
Вот часть кода Leaf.hemi
head(Leaf.hemi)
X.1 X K Na P Mg Ca S
6 6 6 4.298202 0.0018 0.9763679 0.4000289 1.2009743 0.7394368
8 8 8 3.490799 0.0030 0.9442089 0.4924891 1.3988981 0.9508996
9 9 9 2.215777 0.0037 0.8185966 0.6482371 1.8348983 1.2879451
11 11 11 4.647563 0.0012 0.7674694 0.3947354 0.9526773 0.7056782
13 13 13 3.457349 0.0054 0.6979817 0.5680050 1.3992462 1.2307497
14 14 14 2.603297 0.0008 0.6273514 0.5238602 1.4479887 1.2073244
hemiparasite pot.code type host pot mesh.size leaf.species
6 CAFO 41B B ACMI 41 35 CAFO
8 CAFO 42B B ACMI 42 35 CAFO
9 CAFO 42C C ACMI 42 35 CAFO
11 CAFO 43B B ACMI 43 35 CAFO
13 CAFO 44B B ACMI 44 35 CAFO
14 CAFO 44C C ACMI 44 35 CAFO
с листом .response.hemi просто 6 переменными ответа
K Na P Mg S Ca
6 4.298202 0.0018 0.9763679 0.4000289 0.7394368 1.2009743
8 3.490799 0.0030 0.9442089 0.4924891 0.9508996 1.3988981
9 2.215777 0.0037 0.8185966 0.6482371 1.2879451 1.8348983
11 4.647563 0.0012 0.7674694 0.3947354 0.7056782 0.9526773
13 3.457349 0.0054 0.6979817 0.5680050 1.2307497 1.3992462
14 2.603297 0.0008 0.6273514 0.5238602 1.2073244 1.4479887
В основном, все работает отлично, кроме случаев, когда я создаю графики, несмотря на то, что фактические точки верны, y -label отключен
Любая помощь будет принята с благодарностью, гораздо лучше сделать это таким образом (или любым другим способом, который может предложить)
введите описание изображения здесь