我正在使用ggplot并且有两个图表,我希望彼此叠加显示.我使用grid.arrangegridExtra来堆叠它们.问题是,无论轴标签如何,我都希望图形的左边缘与右边缘对齐.(问题出现是因为一个图的标签很短而另一个图很长).
问题:
我该怎么做?我没有和grid.arrange结婚,但ggplot2是必须的.
我尝试了什么:
我尝试使用宽度和高度以及ncol和nrow来制作2 x 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)
Run Code Online (Sandbox Code Playgroud)

我似乎无法找到关于如何使用grid.arrange增加两个图之间的空间的解决方案.我找不到如何继续的线索.我不想改变地块的大小或类似的东西.
grid.arrange(plot1, plot2, ncol=2)
Run Code Online (Sandbox Code Playgroud)
(下面的内容后来添加):
这是我的代码:
X11()
cs <- grid.arrange(arrangeGrob(b, a, ncol=2, top = textGrob(
"B", vjust = 0.5, hjust = 19.5, gp = gpar(
fontface = "bold", cex = 1.5)),
left = textGrob(~ Delta * "SCR (p - d)" ~ mu * 'S',
gp=gpar(fontsize=18), rot = 90, vjust = 1)))
soc_sph <- grid.arrange(arrangeGrob(p, g, ncol=2, top = textGrob(
"A", vjust = 0.5, hjust = 19.5, gp = gpar(
fontface = "bold", cex = 1.5)),
left = textGrob(~ Delta * …Run Code Online (Sandbox Code Playgroud) 我想删除默认情况下在grid.arrange中的图和表之间插入的大间距,如下面的MWE所示:
require(ggplot2)
require(gridExtra)
list1=data.frame(mtcars[1:3, ]) # Dummy data
p1 = ggplot(list1, aes(mpg,cyl)) + geom_point() # Dummy plot
p2 = ggplot(list1, aes(disp,hp)) + geom_point() # Dummy plot
plots <- arrangeGrob(p1, p2,nrow=2)
table <- tableGrob(list1)
grid.arrange(plots, table)
Run Code Online (Sandbox Code Playgroud)
我怀疑这种行为是由于tableGrob引起的,但我找不到任何解决这个问题的答案.
提前致谢!