在R语言中使用ggplot绘制多幅图时,如果每幅图的数据来源或者风格不同时很难用分面绘制。这时可以使用ggpubr包的ggarrange函数将多幅图汇总到一张画布上。
还可以通过common.legend参数为多幅图设置相同的legend。
library(ggpubr)
dsamp <- diamonds[sample(nrow(diamonds), 1000), ]
p1 <- qplot(carat, price, data = dsamp, colour = clarity)
p2 <- qplot(cut, price, data = dsamp, colour = clarity)
p3 <- qplot(color, price, data = dsamp, colour = clarity)
p4 <- qplot(depth, price, data = dsamp, colour = clarity)
ggarrange(p1, p2, p3, p4, ncol=2, nrow=2, common.legend = TRUE, legend="bottom")