gpt4 book ai didi

r - 在刻面外/刻面之间添加显着性线

转载 作者:行者123 更新时间:2023-12-04 11:33:54 24 4
gpt4 key购买 nike

我想在 3 个方面添加重要的星星来比较它们。

我在网上谷歌,但在情节之外添加东西太复杂了。有一个 ggsignif 包,但它对构面没有任何作用(https://github.com/const-ae/ggsignif/issues/22)。似乎可以使用 gridExtra,但我做不到。

可以在单个图中轻松绘制星星,而不是刻面。但我必须使用小平面在左侧放置单独的地毯。如果您知道如何在单个地 block 内放置单独的地毯,应该也能解决问题。

这是我要添加内容的代码和情节:

library(ggplot2)
ToothGrowth$dose = factor(ToothGrowth$dose)
ggplot(ToothGrowth, aes(x='', y=len, color=dose)) +
geom_boxplot() +
geom_rug(sides="l") +
facet_grid(. ~ dose)

enter image description here

我想要的是:

enter image description here

对不起,这幅画。线宽应该是一样的。最终结果应该与此非常相似,但对于 facets:

enter image description here

最佳答案

这是一种解决方法 - 绘制两个图(一个用于显着性注释,另一个用于箱线图)。

library(ggplot2)
library(ggsignif)
ToothGrowth$dose <- factor(ToothGrowth$dose)

绘图显着性注释。不要在此处使用箱线图并将提示设置为 0(此处仅使用一个比较,因为其他比较会从统计测试中返回错误,但我假设这只是一个示例数据集)。

p1 <- ggplot(ToothGrowth, aes(as.factor(dose), len)) +
geom_signif(comparisons = list(c("1", "2")), tip_length = 0.005) +
coord_cartesian(ylim = c(35, 35.5)) +
theme_void()

用不同的 x 轴绘制箱线图(需要这个来指定 ggsignif 中的比较组)

p2 <- ggplot(ToothGrowth, aes(factor(dose), len)) +
geom_boxplot() +
geom_rug(sides = "l") +
facet_grid(. ~ dose, scales = "free_x") +
labs(x = NULL) +
theme(axis.text.x = element_blank(),
axis.ticks.x = element_blank())

geom_boxplot 的顶部用 facet_wrap 绘制绘图 geom_signif

egg::ggarrange(p1, p2, heights = c(2, 10))

enter image description here

关于r - 在刻面外/刻面之间添加显着性线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52238844/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com