如何在ggplot中调整绘图区域?

时间:2018-11-21 01:34:27

标签: ggplot2

我正在尝试使用grid.arrange在ggplot生成的同一页面上显示多个图。每个子图的x和y比例不同。两个子图共享图例。我的建议是要显示相同大小的绘图区域。是否有用于调整绘图区域的参数(图例区域除外)? facet不足以安排它。

df <- data.frame(class=paste0('a',1:20),
         x1=runif(20),
         x2=runif(20),
         y1=runif(20),
         y2=runif(20))

p1 <- ggplot(df,aes(x=x1,y=y1))+
  geom_point(aes(color=class),size=2,show.legend=TRUE)+
  stat_smooth(method='lm',color='black')+
  theme_bw()

p2 <- ggplot(df,aes(x=x2,y=y2))+
  geom_point(aes(color=class),size=2,show.legend=FALSE)+
  stat_smooth(method='lm',color='black')+
  theme_bw()
grid.arrange(p1,p2,nrow=2)

enter image description here

1 个答案:

答案 0 :(得分:1)

使用patchwork软件包

# install.packages("devtools", dependencies = TRUE)
# devtools::install_github("thomasp85/patchwork")
library(patchwork)
p1 / p2 +   plot_annotation(title = "Plot title",
                            subtitle = "Plot subtitle",
                            tag_levels = 'A',
                            tag_suffix = ')')

reprex package(v0.2.1.9000)于2018-11-20创建