Используя набор данных баскетбола, я пытаюсь построить анимацию линейного графика с метрикой EPV по оси Y и временем по оси X. Я могу заставить это работать, но теперь я хотел бы добавить текстовые метки в определенные моменты времени, когда происходит любое event
. event
- это когда в баскетбольном матче происходит действие, такое как владение мячом, капля или пас. Вот то, что я имею до сих пор:
library(tidyverse)
library(gganimate)
library(ggrepel)
theme_set(theme_minimal())
epv_curve_228 <- read_csv("https://raw.githubusercontent.com/jasonbaik94/stackoverflow-data/master/epv_curve_228.csv")
epv_curve_228 %>%
ggplot() +
geom_path(aes(x = 720 - game_clock, y = epv.smooth)) +
# Add description of event for home players
geom_label_repel(aes(x = 720 - game_clock, y = epv.smooth, label = h1_event), force = 5) +
geom_label_repel(aes(x = 720 - game_clock, y = epv.smooth, label = h2_event), force = 5) +
geom_label_repel(aes(x = 720 - game_clock, y = epv.smooth, label = h3_event), force = 5) +
geom_label_repel(aes(x = 720 - game_clock, y = epv.smooth, label = h4_event), force = 5) +
geom_label_repel(aes(x = 720 - game_clock, y = epv.smooth, label = h5_event), force = 5) +
# Add description of event for away players
geom_label_repel(aes(x = 720 - game_clock, y = epv.smooth, label = a1_event), force = 5) +
geom_label_repel(aes(x = 720 - game_clock, y = epv.smooth, label = a2_event), force = 5) +
geom_label_repel(aes(x = 720 - game_clock, y = epv.smooth, label = a3_event), force = 5) +
geom_label_repel(aes(x = 720 - game_clock, y = epv.smooth, label = a4_event), force = 5) +
geom_label_repel(aes(x = 720 - game_clock, y = epv.smooth, label = a5_event), force = 5) +
transition_reveal(720 - game_clock) +
labs(x = "Time (Seconds)",
y = "EPV",
title = "Possession #228 EPV")
Проблема в том, что появляются НЕ ВСЕ текстовые метки (такие события, как Dribble, Possession и т. Д.). Я знаю, что метки NA можно удалить, заменив NA на "". Я не уверен, как я могу показать все текстовые метки, связанные со всеми событиями. Я вижу по крайней мере 4 разных event
значения