我正在尝试使用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)
答案 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创建