【问题标题】:Prevent ggarrange() from hiding significance stars on plot(?)防止 ggarrange() 在 plot(?) 上隐藏重要星
【发布时间】:2021-04-23 15:09:32
【问题描述】:

我正在使用这个功能:

source("https://raw.githubusercontent.com/RemPsyc/niceplots/master/niceViolinFunction.R")

要做这两个图:

(niceViolin(group = mtcars$cyl,
            response = mtcars$mpg,
            comp1 = 1,
            comp2 = 3) -> plot1)

(niceViolin(group = mtcars$cyl,
            response = mtcars$disp,
            comp1 = 1,
            comp2 = 3) -> plot2)

我想ggarrange他们,像这样:

library(ggpubr)
(fig1 <- ggarrange(plot1, plot2,
                   labels = c("A", "B"),
                   ncol = 1, nrow = 2))

问题

如您所见,ggarrangement 隐藏了部分星号(重要星号),除非我以更高的高度(我不想要)保存它们。

问题

解决这个问题的最佳方法是什么?

注意:水平排列它们不是一个解决方案,因为我提供了一个可重复性最低的示例,但假设有一个大的图矩阵。也可以更改底层功能,因为问题似乎与 ggsignif()geom_signif 有关。

【问题讨论】:

  • 我发现 patchwork 包更容易用于布局多个地块

标签: r ggplot2 annotations data-visualization ggpubr


【解决方案1】:

我希望有一个自动化的解决方案,但一种解决方法是通过模仿(尽可能接近)自动值来手动更改 y 轴刻度最大值。通过使 y 轴稍微高一点,它可以容纳星号。但是,有时(例如,图 2)由于这种调整,y 轴看起来与原始轴不完全相同。

(niceViolin(group = mtcars$cyl,
            response = mtcars$mpg,
            ymin = 10,
            ymax = 37,
            yby = 5,
            comp1 = 1,
            comp2 = 3) -> plot1)

(niceViolin(group = mtcars$cyl,
            response = mtcars$disp,
            ymin = 50,
            ymax = 520,
            yby = 100,
            comp1 = 1,
            comp2 = 3) -> plot2)

# Corrected ggarrangement
library(ggpubr)
(fig1 <- ggarrange(plot1, plot2,
                   labels = c("A", "B"),
                   ncol = 1, nrow = 2))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-06-09
    • 1970-01-01
    • 2013-05-25
    • 1970-01-01
    • 2011-12-22
    • 1970-01-01
    • 1970-01-01
    • 2012-08-28
    相关资源
    最近更新 更多