У меня есть 7 переменных (плотность функциональных групп планктона) во временном ряду, который я хочу поместить в один график, чтобы сравнить их тренды во времени.Я использовал ggplot, geom_point и geom_line.Поскольку каждая из переменных варьируется по диапазону, те, у которых меньшие значения, заканчиваются почти плоскими линиями, когда изображаются на графике с теми, у которых большие значения.Поскольку я следую только за тенденциями, а не за плотностью, я бы предпочел видеть все линии на одном графике.Я подумал об использовании функции sec.axis, но не смог понять, как назначить переменные для любой из осей Y.
Ниже приведены мои примеры данных:
seq=1:6
fgrp:
Cop<-c(4.166667,4.722222,3.055556,4.444444,2.777778,2.222222)
Cyan<-c(7.222222,3.888889,1.388889,0.555556,6.944444,3.611111)
Dia<-c(96.66667,43.88889,34.44444,111.8056,163.0556,94.16667)
Dino<-c(126.9444,71.11111,50,55.97222,65,38.33333)
Naup<-c(271.9444,225.5556,207.7778,229.8611,139.7222,92.5)
OT<-c(22.5,19.16667,10.27778,18.61111,18.88889,8.055556)
Prot<-c(141.9444,108.8889,99.16667,113.8889,84.44444,71.94444)
ИСкрипт ggplot без sec.axis, так как я пока не могу заставить его работать:
ggplot(data=df,aes(x=seq,y=mean,shape=fgrp,linetype=fgrp))+geom_point(size=2.5)+geom_line(size=0.5)+scale_shape_manual(values=c(16,17,15,18,8,1,0),
guide=guide_legend(title="Functional\nGroups"))+scale_linetype_manual(values=c("solid","longdash","dotted","dotdash","dashed","twodash","12345678"),guide=F)+scale_y_continuous(sec.axis = sec_axis(~./3)) +geom_errorbar(mapping=aes(ymax=mean+se,ymin=mean-se), width=0.04,linetype="longdash",color="gray30")+theme_minimal()+labs(list(title="Control",x="time",y="density"),size=12)+theme(plot.title = element_text(size = 12,hjust = 0.5 ))