我想将两组ggplot面板(每个面板是一个不同的国家/地区)叠加到一个单独的ggplot面板中,而无需重新调整两个图的任何比例,但是ggplot会重新缩放一个或另一个。
我尝试通过执行ggplot(df,aes(x = t,y = a))仅使用一个ggplot来包含两个变量,然后在该ggplot中将geom_point和geom_smooth用作第二个变量(y = b),但这会重新缩放变量a。
# plot 1
g <-ggplot(df, aes(x=year, y=a))
p <-g + geom_point(alpha=0.7) + geom_smooth(method="auto") + facet_wrap(~country, scales="free") + theme_bw() +
xlab("Year") + ylab(bquote('a')) +
scale_x_continuous(breaks=seq(1960, 2020, 15))
# plot 2
a <-ggplot(df, aes(x=year, y=b))
b <-a + geom_point(alpha=0.7, color="green") + geom_smooth(method="auto", color="darkgreen") +
facet_wrap(~country, scales="free") + theme_bw() +
xlab("Year") + ylab(bquote('b')) +
scale_x_continuous(breaks=seq(1960, 2020, 15))
我希望能够将这两个ggplots覆盖到一组面板中,两个y轴的显示与单独绘制时(包括单位)完全一样。然后,我需要以某种方式使y轴之一出现在面板的右侧,所以我有两个y轴,每侧一个。
Image 1. ggplot rescales left y-axis. I don't want this to happen.