Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 如何使用ggplot创建具有共享x轴的背靠背绘图?_R_Ggplot2_Plot_Graph_Data Visualization - Fatal编程技术网

R 如何使用ggplot创建具有共享x轴的背靠背绘图?

R 如何使用ggplot创建具有共享x轴的背靠背绘图?,r,ggplot2,plot,graph,data-visualization,R,Ggplot2,Plot,Graph,Data Visualization,我使用ggplot创建了两个单独的绘图,我想用一个共享的x轴垂直堆叠它们。我发现了很多水平图的例子(比如这一个:),所以我想知道如何在垂直方向上做到这一点 这是我分别创建的两个图。 这就是我想要的情节: 我的数据(组合)和我用来创建呼吸图的代码(y轴范围内y_比例连续变化): df有几种方法可以做到这一点,但是使用包可能是最简单的方法 我删除了几乎所有的化妆品,以使代码更加清晰: library(dplyr) library(ggplot2) p1 <- df %>%

我使用ggplot创建了两个单独的绘图,我想用一个共享的x轴垂直堆叠它们。我发现了很多水平图的例子(比如这一个:),所以我想知道如何在垂直方向上做到这一点

这是我分别创建的两个图。

这就是我想要的情节:

我的数据(组合)和我用来创建呼吸图的代码(y轴范围内y_比例连续变化):


df有几种方法可以做到这一点,但是使用包可能是最简单的方法

我删除了几乎所有的化妆品,以使代码更加清晰:

library(dplyr)
library(ggplot2)

p1 <-
  df %>% 
  filter(trmt == "pro") %>% 
  ggplot(aes(x=month, y=o2, fill=site)) +
  geom_bar(stat="identity", color="black", width=0.4, position=position_dodge()) +
  geom_errorbar(aes(ymin=o2, ymax=o2+se), width=0.2, position=position_dodge(0.4)) +
  scale_fill_manual(name = "Site",
                    labels = c("Port", "Bluff", "Palm"),
                    values = c("#FC4E07","#00AFBB", "#C3D7A4")) +
  xlab(NULL) +
  theme_bw() +
  theme(panel.border = element_blank()) +
  geom_hline(yintercept = 0)

p2 <- 
  df %>% 
  filter(trmt == "res") %>% 
  ggplot(aes(x=month, y=o2, fill=site)) +
  geom_bar(stat="identity", color="black", width=0.4, position=position_dodge()) +
  geom_errorbar(aes(ymin=o2-se, ymax=o2), width=0.2, position=position_dodge(0.4)) +
  scale_fill_manual(name = "Site",
                    labels = c("Port", "Bluff", "Palm"),
                    values = c("#FC4E07","#00AFBB", "#C3D7A4")) +
  xlab(NULL) +
  theme_bw() +
  theme(panel.border = element_blank(), axis.text.x = element_blank(),
        legend.position = "none") +
  geom_hline(yintercept = 0)


library(patchwork)
p1 + p2 + plot_layout(ncol = 1)
库(dplyr)
图书馆(GG2)
p1%
过滤器(trmt==“pro”)%>%
ggplot(aes(x=月,y=氧,填充=场地))+
几何图形条(stat=“identity”,color=“black”,宽度=0.4,位置=position\u dodge())+
几何误差条(aes(ymin=o2,ymax=o2+se),宽度=0.2,位置=位置减淡(0.4))+
比例填充手册(name=“Site”,
标签=c(“端口”、“断崖”、“手掌”),
值=c(“#FC4E07”、“#00AFBB”、“#C3D7A4”))+
xlab(空)+
主题_bw()+
主题(panel.border=element\u blank())+
geom_hline(yintercept=0)
p2%
过滤器(trmt==“res”)%>%
ggplot(aes(x=月,y=氧,填充=场地))+
几何图形条(stat=“identity”,color=“black”,宽度=0.4,位置=position\u dodge())+
几何误差条(aes(ymin=o2 se,ymax=o2),宽度=0.2,位置=位置减淡(0.4))+
比例填充手册(name=“Site”,
标签=c(“端口”、“断崖”、“手掌”),
值=c(“#FC4E07”、“#00AFBB”、“#C3D7A4”))+
xlab(空)+
主题_bw()+
主题(panel.border=element\u blank(),axis.text.x=element\u blank(),
legend.position=“无”)+
geom_hline(yintercept=0)
图书馆(拼凑)
p1+p2+plot\U布局图(ncol=1)

感谢您去除化妆品。这真的很有帮助!
library(dplyr)
library(ggplot2)

p1 <-
  df %>% 
  filter(trmt == "pro") %>% 
  ggplot(aes(x=month, y=o2, fill=site)) +
  geom_bar(stat="identity", color="black", width=0.4, position=position_dodge()) +
  geom_errorbar(aes(ymin=o2, ymax=o2+se), width=0.2, position=position_dodge(0.4)) +
  scale_fill_manual(name = "Site",
                    labels = c("Port", "Bluff", "Palm"),
                    values = c("#FC4E07","#00AFBB", "#C3D7A4")) +
  xlab(NULL) +
  theme_bw() +
  theme(panel.border = element_blank()) +
  geom_hline(yintercept = 0)

p2 <- 
  df %>% 
  filter(trmt == "res") %>% 
  ggplot(aes(x=month, y=o2, fill=site)) +
  geom_bar(stat="identity", color="black", width=0.4, position=position_dodge()) +
  geom_errorbar(aes(ymin=o2-se, ymax=o2), width=0.2, position=position_dodge(0.4)) +
  scale_fill_manual(name = "Site",
                    labels = c("Port", "Bluff", "Palm"),
                    values = c("#FC4E07","#00AFBB", "#C3D7A4")) +
  xlab(NULL) +
  theme_bw() +
  theme(panel.border = element_blank(), axis.text.x = element_blank(),
        legend.position = "none") +
  geom_hline(yintercept = 0)


library(patchwork)
p1 + p2 + plot_layout(ncol = 1)