我想在3个方面添加重要的恒星,以进行比较。
我在线搜索Google,但是在情节之外添加内容太复杂了。有一个ggsignif软件包,但它对方面没有任何作用(https://github.com/const-ae/ggsignif/issues/22)。使用gridExtra似乎可行,但我做不到。
可以轻松地绘制星星,而不是刻面。但是我必须使用刻面在左侧留有单独的地毯。如果您知道如何在一个样地中放置单独的地毯,那么它也应该可以解决问题。
这是我要添加内容的代码和情节:
library(ggplot2)
ToothGrowth$dose = factor(ToothGrowth$dose)
ggplot(ToothGrowth, aes(x='', y=len, color=dose)) +
geom_boxplot() +
geom_rug(sides="l") +
facet_grid(. ~ dose)
我想要的是:
很抱歉。线宽应相同。最终结果应该与此类似,但对于方面:
答案 0 :(得分:2)
这是一种解决方法-绘制两个图(一个用于重要性注释,另一个用于盒图)。
library(ggplot2)
library(ggsignif)
ToothGrowth$dose <- factor(ToothGrowth$dose)
绘制重要性注释。不要在此处使用boxplot并将提示设置为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_signif
的顶部geom_boxplot
与facet_wrap
一起绘制图
egg::ggarrange(p1, p2, heights = c(2, 10))