Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 我可以在ggplot2中用水平线跨越类别组吗_R_Ggplot2 - Fatal编程技术网

R 我可以在ggplot2中用水平线跨越类别组吗

R 我可以在ggplot2中用水平线跨越类别组吗,r,ggplot2,R,Ggplot2,我有六个站点(REACH)的数据,如下所示。为了进行分析,我对一些地点进行了分组,这些地点由poold_sites变量表示(即,对4号和8号池进行了分组(G1),对16号和26号池进行了分组(G2),对La Grange(G3)和Open River(G4)进行了分组 在图中,我绘制了每个位点的平均值±se。我在每个平均值上方添加了显著性(sig_pool;来自分组分析) 我想包括跨越两对分组站点的水平线,以指示哪些站点被合并用于分析。因此,水平线应跨越池4和池8(G1),另一条线应跨越池16和

我有六个站点(REACH)的数据,如下所示。为了进行分析,我对一些地点进行了分组,这些地点由
poold_sites
变量表示(即,对4号和8号池进行了分组(G1),对16号和26号池进行了分组(G2),对La Grange(G3)和Open River(G4)进行了分组

在图中,我绘制了每个位点的平均值±se。我在每个平均值上方添加了显著性(
sig_pool
;来自分组分析)

我想包括跨越两对分组站点的水平线,以指示哪些站点被合并用于分析。因此,水平线应跨越池4和池8(G1),另一条线应跨越池16和池26(G2)。其他两个站点不需要水平线

sig_pool
代码应该出现在所有四个组的上方。如果有两条水平线,我想要显著性代码(A或B)最后,应该只有一个A,位于池4和池8的线的中心,以及三个B,其中一个位于池16和池26的线的中心

我想我可以像这里显示的那样使用
geom_段
,但我还无法确定如何指定
x
xend
。下面的代码刚刚创建了四个新类别

geom_segment(aes(x = pooled_groups,
                   xend = pooled_groups,
                   y = max(avg + se),
                   yend = max(avg + se))
我能做我想做的吗

MWE

库(dplyr)
图书馆(GG2)

reach多亏了@camille的评论,我了解到了,这是由
ggpubr
加载的。我添加了两个
ggsignif
层,这样我就可以将两个未分组的站点的线宽(
大小
参数)设置为零

库(dplyr)
图书馆(GG2)
图书馆(GGF)

reach这不太理想,不包括水平段,但可能有助于开始。不要使用
geom\u文本
,而是在组和显著性代码上尝试
facet\u网格:
facet\u网格(.~pooled\u groups+sig\u pooled,scales=“free\u x”,space=“free\u x”)
然后调整主题,使镶嵌条看起来更像普通标签。如果它与您最初的计划没有太大的偏离,我可以将其作为一个更大的解决方案发布。您还可以看看
ggpubr
如何使@camile类似
ggpubr
的提示引导我这样做,效果很好。谢谢!