为了账号安全,请及时绑定邮箱和手机立即绑定

左对齐两个图形边

左对齐两个图形边

拉莫斯之舞 2019-06-15 10:24:23
左对齐两个图形边我正在使用ggkett,并有两个图形,我想显示在彼此之上。我用grid.arrange从gridExtra到堆栈。问题是,我希望图的左边对齐,以及右边,而不考虑轴标签。(问题的出现是因为一个图的标签是短的,而另一个是长的)。问题:我该怎么做?我不是和格雷斯结婚的。安排一下,但这是必须的。我试过的是:我试着玩宽度和高度,以及NCOL和NROW,形成一个2×2的网格,把视觉效果放置在相对的角落,然后玩宽度,但我无法在对面的角落获得视觉效果。require(ggplot2);require(gridExtra)A <- ggplot(CO2, aes(x=Plant)) + geom_bar() +coord_flip() B  <- ggplot(CO2, aes(x=Type)) + geom_bar() +coord_flip() grid.arrange(A, B, ncol=1)
查看完整描述

3 回答

?
MMTTMM

TA贡献1869条经验 获得超4个赞

尝尝这个,

 gA <- ggplotGrob(A)
 gB <- ggplotGrob(B)
 maxWidth = grid::unit.pmax(gA$widths[2:5], gB$widths[2:5])
 gA$widths[2:5] <- as.list(maxWidth)
 gB$widths[2:5] <- as.list(maxWidth)
 grid.arrange(gA, gB, ncol=1)

编辑

下面是一个更通用的解决方案(适用于任意数量的绘图),它使用的是rbind.gtable包括在gridExtra

gA <- ggplotGrob(A)gB <- ggplotGrob(B)grid::grid.newpage()grid::grid.draw(rbind(gA, gB))


查看完整回答
反对 回复 2019-06-15
  • 3 回答
  • 0 关注
  • 656 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信