ggplot2 在线绘图

作者

不止BI

R语言图表

在线练习

下面的代码输入框可以在线运行R代码,如需安装R包请使用webr::install("packagename"),例如安装ggplot2需要执行webr::install("ggplot2"),安装速度取决于网络与包大小

箱线图

ggsignif

ggsignif包添加p值

代码
library(ggplot2)
library(ggprism)
library(patchwork)
library(ggsignif)
ggplot(iris, aes(x = Species, y = Sepal.Length, fill = Species)) +
  geom_boxplot() +
  geom_signif(
    comparisons = list(c("setosa", "versicolor")),
    map_signif_level = TRUE
  ) +
  geom_signif(
    comparisons = list(c("versicolor", "virginica")),
    map_signif_level = TRUE
  ) +
  theme_prism()

geom_signifggsignif包中用于添加显著性标记的函数。以下是主要参数的作用:

  • comparisons :需要进行比较的组合列表,每个元素为长度为 2 的向量,指明要比较的两列名称或索引。

  • test :进行统计检验的函数名称,如 t.test、wilcox.test 等。

  • test.args :统计检验函数的额外参数。

  • annotations :自定义注释的文本向量,如果非空则忽略 test 参数。

  • map_signif_level :是否直接显示 p 值,或使用星号表示显著性水平。可以为布尔值、命名的数值向量(定义自定义映射),或函数(接收 p 值并返回字符串)。

  • y_position :括号的 y 轴位置。

  • xmin, xmax :括号的左右两侧位置。

  • margin_top :括号起始位置高于最大值的比例。

  • step_increase :每个额外比较的纵向偏移量,用于避免重叠。

  • tip_length :指示精确列的下指箭头长度占总高度的比例。

  • size :括号线条的宽度。

  • textsize :注释文本的字号。

  • family :注释文本的字体。

  • vjust :垂直调整注释文本的位置。

  • parse :是否将标签解析为表达式。

  • manual :是否手动提供参数数据框。

ggprism

使用ggprism包的add_pvalue()函数,该函数可以从数据框中获取显著检验结果,同时添加多个分组的显著检验线,示例如下:

代码
library(rstatix)
df_p_val <- iris %>%
  t_test(Sepal.Length ~ Species) %>%
  add_xy_position()

ggplot(iris, aes(x = factor(Species), y = Sepal.Length)) +
  geom_boxplot(aes(fill = Species)) +
  add_pvalue(df_p_val) +
  theme_prism()

数据框参数:

  • data: 包含要绘制的统计数据的数据框。默认格式包括以下列:group1 | group2 | p.adj | y.position | 等等。group1 和 group2 是进行比较的两组。p.adj 是校正后的 p 值。y.position 是指定 p 值在图上位置的 y 坐标。列名可以与默认值不同,只要在调用函数时指定即可。 文本和位置参数:

  • label: 指定要绘制的文本的列名(例如 label = “p.adj”)。也可以是可以被 glue 格式化的表达式(例如 label = “p = {p.adj}”)。 xmin: 指定括号左侧位置的列名。默认为 “group1”。 xmax: (可选)指定括号右侧位置的列名。默认为 “group2”。如果为 NULL,则 p 值仅显示为文本。 x: 仅当绘制不带括号的 p 值文本时使用。指定 p 值文本的 x 坐标。 y.position: 包含每个 p 值的 y 坐标(数值)的列名。也可以是一个数值,将所有 p 值绘制在同一高度,或一个数值向量来覆盖数据框中的 y.position 列。

文本格式参数:

  • parse: 默认为 FALSE。如果为 TRUE,文本标签将被解析为表达式并按照 plotmath 中的描述显示。

  • label.size: 文本大小。 colour, color: 文本颜色。

括号参数:

  • tip.length: 括号尖端的长度。使用 0 移除尖端。 bracket.size: 括号线宽。

  • bracket.color: 括号颜色。默认为 NULL,这会使括号继承文本的颜色。

  • bracket.shorten: 稍微缩短括号,以便它们可以并排绘制在相同的 y 位置。

  • bracket.nudge.y: 更改 p 值的 y 位置。如果文本被截断,可用于稍微调整 p 值。

  • step.increase: 更改括号之间的空间。

  • step.group.by: 用于对括号进行分组的变量。

  • remove.bracket: 如果为 TRUE,则移除所有括号,仅显示 p 值文本。 其他参数:

  • coord.flip: 如果为 TRUE,则 p 值旋转 90 度。应与 coord_flip 一起使用。 position: 通常用于调整 p 值的 x 位置,以使其与被闪避(dodged)的数据一致。

回到顶部