往期cowplot文章
R高级|利用cowplot包拼接图片(2)巧用NULL调节距离、排版
R高级|cowplot包拼图(4):ggdraw和draw_*
R高级| cowplot包拼图(6):plot_grid又见plot_grid
前面所讲的图形都是简单图形的拼接,所谓简单,指得是两幅图的布局相同,但是如果两幅图的布局不同,那么利用align来拼图就不行了,这个时候需要使用axis参数,来对齐x轴和y轴。
0、构图
图A
library(ggplot2)
library(cowplot)
mpg$year = as.character(mpg$year)
A <- ggplot(mpg,aes(year,hwy)) +
geom_boxplot(outlier.colour = NA,width=0.2)+
theme_half_open()
A
图B
B<-ggplot(data = mtcars,aes(drat,wt))+
geom_point()+
facet_wrap(~vs)
B
图B我们加入了一个facet
1、拼图
图B有2个x轴,图A有1个x轴,这个时候我们来拼图
拼成1列
plot_grid(A,B,ncol = 1,align = 'hv')
我们可以看到左侧没有对齐
拼成1行
plot_grid(A,B,nrow = 1,align = 'hv')
我们看到底部没有对齐。
2、使用axis参数
当两个图形的布局不同时,align参数就不行了,这个时候需要使用axis参数。axis参数是在align参数基础上使用的,也就是说axis参数和align参数一起用。
axis参数有4个值:左侧对齐(l),右侧对齐(r),顶部对齐(t),底部对齐(b)。
画1行的时候,底部和顶部对齐
plot_grid(A,B,nrow = 1,align = 'hv',
axis = 'b')
画成1列的时候左右两侧对齐
plot_grid(A,B,ncol = 1,align = 'hv',
axis = 'lr')