仅对某些观察结果使用 geom_label_repel?

Use geom_label_repel only for certain observations?

我是一名足球数据分析师,使用 NFL 球队徽标作为散点图上的点。然而,这些图像有时会相互掩盖。我想找到一种方法来排斥那些相互重叠的图像的标签。但是,我只想为团队形象不完全可见的点设置一个排斥标签。有没有办法让 R 只为几个数据点插入标签?我在下面附上了一张图片,其中所有数据点都附有标签。我目前对 geom_label_repel 的呼叫是:

ggplot + geom_label_repel(label.size = 0.1)

非常感谢任何建议!

您可以这样做来选择您想要的标签:

library(tidyverse)
library(ggrepel)

df <- tribble(~team, ~aay, ~epa,
        "LA", 8, 5,
        "PIT", 6, -2,
        "KC", 7, 5,
        "DAL", 7, 5
        )

# Select desired labels
labels <- df |> filter(team %in% c("KC", "DAL"))

df |> 
  ggplot(aes(aay, epa)) +
  geom_point() +
  geom_label_repel(aes(label = team), data = labels, force = 20) +
  xlim(c(0, 10)) +
  ylim(c(-8, 8))

reprex package (v2.0.1)

于 2022-05-25 创建