首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R ggplot2拼贴式共轴标签

R ggplot2拼贴式共轴标签
EN

Stack Overflow用户
提问于 2022-07-19 19:56:20
回答 1查看 578关注 0票数 0

根据下面的代码和数据,是否可以使用通用的图例标签而不必使用xlabggplot代码中删除patchworkpatchwork

我问这个问题的原因是因为我有很多ggplots,所以我不认为从每个ggplots中删除xlabylab,然后在代码中使用这个方法是不理想的。我知道我可以使用ggarrange,但是ggpubrpatchwork慢得多。

样本数据和代码:

代码语言:javascript
复制
library(tidyverse)
library(patchwork)
library(gridextra)

gg1 = ggplot(mtcars) +
  aes(x = cyl, y = disp) +
  geom_point() +
  xlab("Disp") +
  ylab("Hp // Cyl") +
  theme(axis.title = element_blank())

gg2 = gg1 %+% aes(x = hp) +
  xlab("Disp") +
  ylab("Hp // Cyl")

# This method still keeps the individual axis labels.
p = gg1 + gg2
gt = patchwork::patchworkGrob(p)
gridExtra::grid.arrange(gt, left = "Disp", bottom = "Hp // Cyl")
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-07-19 20:40:24

有一个可能的选择是在创建补丁时通过xlabylab通过& labs(...)删除轴标签,并添加一个公共轴标题作为单独的地块,其中我使用cowplot::get_plot_component创建了轴标题图:

代码语言:javascript
复制
library(ggplot2)
library(patchwork)
library(cowplot)


gg1 <- ggplot(mtcars) +
  aes(x = cyl, y = disp) +
  geom_point() +
  xlab("Disp") +
  ylab("Hp // Cyl") +
  theme(axis.title = element_blank())

gg2 <- gg1 %+% aes(x = hp) +
  xlab("Disp") +
  ylab("Hp // Cyl")

gg_axis <- cowplot::get_plot_component(ggplot() +
  labs(x = "Hp // Cyl"), "xlab-b")

(gg1 + gg2 & labs(x = NULL, y = NULL)) / gg_axis + plot_layout(heights = c(40, 1))

更新以添加y轴,这基本上是一样的。要得到左y轴标题,我们必须使用ylab-l。此外,我们还必须在补丁中添加一个间隔。在这种情况下,最好的方法是将所有组件放在一个列表中,并使用plot_layoutplot_layout参数将它们放在修补程序中。

代码语言:javascript
复制
p <- ggplot() + labs(x = "Hp // Cyl", y = "Disp")
x_axis <- cowplot::get_plot_component(p, "xlab-b")
y_axis <- cowplot::get_plot_component(p, "ylab-l")

design = "
DAB
#CC
"

list(
  gg1 + labs(x = NULL, y = NULL), # A
  gg2 + labs(x = NULL, y = NULL), # B
  x_axis,# C
  y_axis # D
) |> 
  wrap_plots() + 
  plot_layout(heights = c(40, 1), widths = c(1, 50, 50), design = design)
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73042802

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档