本文介绍了我怎样才能通过他们的标题来对齐多个地块而不是地块面积?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述 29岁程序员,3月因学历无情被辞! 我使用软件包 left_col labels = c('a)', 'b)'),label_size = 14, ncol = 1,align ='v',axis ='lr') cowplot :: plot_grid(left_col,p3 + ggti tle(), labels = c('','c)'),label_size = 14, align ='h',axis ='b') 请参阅还 I'm using egg package developed by @baptiste. Below is an example from github. I'm wondering if it's possible to align two columns by the titles a) and c) instead of plot area? Thanks!Code: library(egg)library(grid)p1 <- ggplot(mtcars, aes(mpg, wt, colour = factor(cyl))) + geom_point() + ggtitle("a)")p1p2 <- ggplot(mtcars, aes(mpg, wt, colour = factor(cyl))) + geom_point() + facet_wrap(~ cyl, ncol = 2, scales = "free") + guides(colour = "none") + theme() + ggtitle("b)")p2p3 <- ggplot(mtcars, aes(mpg, wt, colour = factor(cyl))) + geom_point() + facet_grid(. ~ am, scales = "free") + guides(colour="none") + ggtitle("c)")p3g1 <- ggplotGrob(p1)g2 <- ggplotGrob(p2)g3 <- ggplotGrob(p3)fg1 <- gtable_frame(g1, debug = TRUE)fg2 <- gtable_frame(g2, debug = TRUE)fg12 <- gtable_frame(gtable_rbind(fg1, fg2), width = unit(2, "null"), height = unit(1, "null"))fg3 <- gtable_frame( g3, width = unit(2, "null"), height = unit(1, "null"), debug = TRUE )grid.newpage()combined <- gtable_cbind(fg12, fg3)grid.draw(combined)Plot: 解决方案 I found another way by using cowplot package left_col <- cowplot::plot_grid(p1 + ggtitle(""), p2 + ggtitle(""), labels = c('a)', 'b)'), label_size = 14, ncol = 1, align = 'v', axis = 'lr')cowplot::plot_grid(left_col, p3 + ggtitle(""), labels = c('', 'c)'), label_size = 14, align = 'h', axis = 'b')See also hereEdit:A recently developed package patchwork for ggplot2 can also get the job done library(patchwork){ p1 + {p2} + patchwork::plot_layout(ncol = 1)} / p3 + patchwork::plot_layout(ncol = 2) 这篇关于我怎样才能通过他们的标题来对齐多个地块而不是地块面积?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持! 上岸,阿里云!
07-01 22:14