Я использовал приведенный ниже код для создания 3 отдельных графиков, а затем использовал ggarrange в пакете ggpubr, чтобы объединить их в один график и сохранить его в виде изображения.Однако, как только я создал Rmd моего скрипта, эта функция стала очень темпераментной и выдает мне ошибку «Переменные граней должны иметь хотя бы одно значение», даже если она отлично работает вне Rmd.Есть ли другой способ получить те же результаты, используя что-то в пакете ggplot2?или другой более простой способ?Изменить: Я хотел бы сохранить балки на моем графике и не использовать сложный способ получить общую легенду, которая требуется коровьего сюжета.
graph_1 <- ggplot(subset(data_p, Target == "1"), aes(x=as.integer(volume), y=percent_yield, color=Tech.Rep))+
geom_point()+
geom_smooth(se=FALSE)+
facet_wrap(~sample)+
ggtitle(paste("Graph 1"))+
ylab("PERCENT YIELD")+
scale_x_discrete(limits= levels(data_p$volume))+
ylim(min=-150, max=150)+
theme(axis.text.x=element_text(size=10,angle=85,hjust=1,vjust=1))+
theme(legend.position="none")+
geom_ribbon(aes(ymax=100, ymin=50), alpha = 0.2, fill="green", col="green")+
geom_ribbon(aes(ymax=0, ymin=0), alpha = 0.2, fill="black", col="black", size=1.0)
graph_2 <- ggplot(subset(data_p, Target == "2"), aes(x=as.integer(volume), y=percent_yield, color=Tech.Rep))+
geom_point()+
geom_smooth(se=FALSE)+
facet_wrap(~sample)+
ggtitle(paste("Graph 2"))+
ylab("PERCENT YIELD")+
scale_x_discrete(limits= levels(data_p$volume))+
ylim(min=-150, max=150)+
theme(axis.text.x=element_text(size=10,angle=85,hjust=1,vjust=1))+
theme(legend.position="none")+
geom_ribbon(aes(ymax=100, ymin=50), alpha = 0.2, fill="green", col="green")+
geom_ribbon(aes(ymax=0, ymin=0), alpha = 0.2, fill="black", col="black", size=1.0)
graph_3 <- ggplot(subset(data_p, Target == "3"), aes(x=as.integer(volume), y=percent_yield, color=Tech.Rep))+
geom_point()+
geom_smooth(se=FALSE)+
facet_wrap(~sample)+
ggtitle(paste("Graph 3"))+
ylab("PERCENT YIELD")+
scale_x_discrete(limits= levels(data_p$volume))+
ylim(min=-150, max=150)+
theme(axis.text.x=element_text(size=10,angle=85,hjust=1,vjust=1))+
theme(legend.position="none")+
geom_ribbon(aes(ymax=100, ymin=50), alpha = 0.2, fill="green", col="green")+
geom_ribbon(aes(ymax=0, ymin=0), alpha = 0.2, fill="black", col="black", size=1.0)
ggarrange(graph_1, graph_2, graph_3, ncol=3, nrow=1, common.legend=TRUE, legend= "bottom")
Вот пример того, как будет выглядеть один график:
и вот как выглядят комбинированные графики: