仅对某些观察结果使用 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 创建
我是一名足球数据分析师,使用 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 创建