R 如何使用ggplot创建具有共享x轴的背靠背绘图?
我使用ggplot创建了两个单独的绘图,我想用一个共享的x轴垂直堆叠它们。我发现了很多水平图的例子(比如这一个:),所以我想知道如何在垂直方向上做到这一点 这是我分别创建的两个图。 这就是我想要的情节: 我的数据(组合)和我用来创建呼吸图的代码(y轴范围内y_比例连续变化):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 %>%
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)