如何使两幅ggplot图的横坐标绘图区域尺寸保持一致?
解决方法
要让两幅图的灰色绘图区域(横坐标区域)尺寸一致,直接在ggarrange()中添加align = "h"参数即可。这个参数会让纵向排列的图在水平方向对齐,确保绘图区域的宽度完全相同。
修改后的完整代码如下:
### Import library library(ggplot2) library(ggpubr) ### Initiating data dfTemp <- data.frame( Xaxis=1:100, Variable1=rnorm(100, 100, 10), Variable2=rnorm(100, 1000000, 100000) ) ### Initiating plots scatterPlot1 <- ggplot(data=dfTemp, aes(x=Xaxis, y=Variable1)) + geom_line() scatterPlot2 <- ggplot(data=dfTemp, aes(x=Xaxis, y=Variable2)) + geom_line() ### Display plots ggarrange(scatterPlot1, scatterPlot2, nrow=2, ncol=1, align = "h") # 新增参数实现水平对齐
如果需要更精细化的控制(比如强制统一y轴标签的占用宽度),也可以通过给每个图设置theme()中的axis.text.y和axis.title.y的固定宽度来实现,但align="h"是最简便直接的解决方案。
内容的提问来源于stack exchange,提问作者Yacine Hajji
相关产品推荐
相关产品推荐

