在对数据进行子集设置时,如何将geom_Reject_文本与geom_抖动点对齐?

在对数据进行子集设置时,如何将geom_Reject_文本与geom_抖动点对齐?,r,R,我制作盒状图和抖动来显示每个点。然后在每个点上放置文本标签。这很好,但只要我尝试子集我想要标签的点,文本就不再对齐 以下是我的代码以及本页的一些帮助: 这是我的阴谋。如您所见,标签未与点对齐。 你知道为什么这不起作用吗?问题是,通过子集化,ggrepel将只看到这部分数据,并假设您只绘制了子集。如果希望ggrepel考虑所有数据,请使用ifelse条件选择要标记的点,而不是子集: 图书馆GGPLOT2 图书馆排斥 ggplotmtcars、AESV、wt、组=am、标签=wt+ geom_B

我制作盒状图和抖动来显示每个点。然后在每个点上放置文本标签。这很好,但只要我尝试子集我想要标签的点,文本就不再对齐

以下是我的代码以及本页的一些帮助:

这是我的阴谋。如您所见,标签未与点对齐。


你知道为什么这不起作用吗?

问题是,通过子集化,ggrepel将只看到这部分数据,并假设您只绘制了子集。如果希望ggrepel考虑所有数据,请使用ifelse条件选择要标记的点,而不是子集:

图书馆GGPLOT2 图书馆排斥 ggplotmtcars、AESV、wt、组=am、标签=wt+ geom_BoxPlot Outlier.shape=NA+ 几何抖动位置=位置抖动种子=1+ geom_text_repelaeslabel=ifelsewt>3,wt,position=position_jitterseed=1
问题在于,通过子集化,ggrepel将只看到这部分数据,并假设您只绘制子集。如果希望ggrepel考虑所有数据,请使用ifelse条件选择要标记的点,而不是子集:

图书馆GGPLOT2 图书馆排斥 ggplotmtcars、AESV、wt、组=am、标签=wt+ geom_BoxPlot Outlier.shape=NA+ 几何抖动位置=位置抖动种子=1+ geom_text_repelaeslabel=ifelsewt>3,wt,position=position_jitterseed=1
另一种方法是使用自定义alpha使不希望显示的权重不可见:

图书馆GGPLOT2 GG绘图仪,带InmTcars,可见3, AESV,wt,组=am,标签=wt+ geom_BoxPlot Outlier.shape=NA+ 几何抖动位置=位置抖动种子=1+ geom\u text\u repelposition=position\u jitterseed=1, α=可见+ 刻度α手动值=c0,1+ guidesalpha=guide_none
另一种方法是使用自定义alpha使不希望显示的权重不可见:

图书馆GGPLOT2 GG绘图仪,带InmTcars,可见3, AESV,wt,组=am,标签=wt+ geom_BoxPlot Outlier.shape=NA+ 几何抖动位置=位置抖动种子=1+ geom\u text\u repelposition=position\u jitterseed=1, α=可见+ 刻度α手动值=c0,1+ guidesalpha=guide_none
library(ggplot2)
ggplot(mtcars, aes(vs, wt, group = am, label = wt)) +
  geom_boxplot(outlier.shape = NA) +
  geom_jitter(position = position_jitter(seed = 1)) +
  geom_text_repel(data = subset(mtcars, wt > 3),
                  position = position_jitter(seed = 1))