我有一个问题,我的情节之间的大空间使用gggrand安排.我知道有一个使用grid. arrangement来减少空间的解决方案,但是我一直在使用gorgarrangement,因为它有很好的选项(这里使用的也称为"对齐"和"标签").

其他使用ggarrangement和grid. arrangement的答案建议更改绘图边缘,(我在这个例子中try 这样做),但这似乎并没有解决我的问题.我假设是因为即使我已经空白了x轴,在图之间仍然有空的空间,而"空白"轴仍然占据空间.

以下是我的例子:

library(ggplot2)
library(ggpubr)

x<-seq(1,10)
y<-seq(10,1)

DF<-data.frame(x,y)

p1<- ggplot(DF, aes(x=x,y=y)) + 
  labs(x="Xlab", y="Ylab") +
  geom_line()+
  theme_bw()
  
  
p1TopNoX<-p1 + theme(axis.title.x=element_blank(),
                     axis.text.x=element_blank(),
                     axis.ticks.x=element_blank(),
                     plot.margin = margin(1, 1, 0, 0, "cm"))


p1MidNoX<-p1 + theme(axis.title.x=element_blank(),
                     axis.text.x=element_blank(),
                     axis.ticks.x=element_blank(),
                     plot.margin = margin(1, 1, 0, 0, "cm"))

p1BotX<-p1 + theme(plot.margin = margin(1, 1, 1, 0, "cm"))

ggarrange(p1TopNoX, p1MidNoX, p1BotX,
          nrow=3, labels = c("A","B", "C"), align= 'hv', 
          hjust=-4.5, vjust=3, font.label=list(color="black",size=25))

我的目标是让底部的图显示x轴,上面的两个图没有轴标签(也就是共享轴图). 注意图之间的空白.我想减少这些情节之间的空间,使三个情节几乎接触.

推荐答案

你有两个不同的问题.

  1. 上限指定为1cm
  2. ggarange中的align参数影响了利润率

如果您将"顶部"的空白设置为0,则您将在3个图之间获得更少的空白(左侧面板).如果你也删除了"h"在align='hv',你将得到你想要的结果(右面板).

enter image description here


GG1 <- ggarrange(p1TopNoX, p1MidNoX, p1BotX,
          nrow=3, labels = c("A","B", "C"), align='hv',
          hjust=-4.5, vjust=3, font.label=list(color="black",size=25))

GG2 <- ggarrange(p1TopNoX, p1MidNoX, p1BotX, align='v',
          nrow=3, labels = c("A","B","C"), heights=c(2,2,3),
          hjust=-4.5, vjust=3, font.label=list(color="black",size=25))

ggarrange(GG1, GG2, nrow=1)

R相关问答推荐

有没有方法将琴弦完全捕捉到R中的多边形?

管道末端运行功能

随机森林回归:下拉列重要性

用黄土法确定区间

如何写一个R函数来旋转最后n分钟?

在某些栏和某些条件下,替换dfs列表中的NA

如何在modelsummary中重命名统计数据?

如何在一次运行中使用count进行多列计数

如何编辑gMarginal背景以匹配绘图背景?

将饼图插入条形图

如何提取所有完美匹配的10个核苷酸在一个成对的匹配与生物字符串在R?>

`lazy_dt`不支持`dplyr/across`?

如何指定我的函数应该查找哪个引用表?

如何使用前缀作为匹配来连接数据帧?

如何将这个小列表转换为数据帧?

将列表中的字符串粘贴到R中for循环内的dplyr筛选器中

ggplot斜体轴刻度标签中的单个字符-以前的帖子建议不工作

使用函数从R中的列中删除标高

从矩阵创建系数图

通过分析特定列中的字符串在数据框中创建新的行和列