# Create a mapping of tracks to track numbers
track_mapping <- f1_cleaned %>%
select(Track) %>%
distinct() %>%
mutate(track_number = row_number())
f1_cleaned <- f1_cleaned %>%
left_join(track_mapping, by = "Track")
head(f1_cleaned)
# Create cumulative points for each team per track
cumulative_points_per_team_track <- f1_cleaned %>%
group_by(.,Team, Track, track_number) %>%
summarise(total_points = sum(Points, na.rm = TRUE), .groups = "drop") %>%
ungroup() %>%
arrange(Team, track_number) %>%
group_by(Team) %>%
mutate(cumulative_points = cumsum(total_points))
create_cumulative_team_plot <- function(team_names, title_suffix) {
subset_data <- cumulative_points_per_team_track %>%
filter(Team %in% team_names)
g <- ggplot(subset_data, aes(x = track_number, y = cumulative_points, color = Team, group = Team, text = paste("Track:", Track))) +
geom_line() +
geom_point(size = 1) +
theme(axis.text.x = element_text(angle = 90, hjust = 1)) +
labs(title = paste("Cumulative Points per Team per Track in 2022 Season -", title_suffix), x = "Track Number", y = "Cumulative Points") +
scale_color_manual(values = c(
"Red Bull Racing RBPT" = "darkblue",
"Ferrari" = "red",
"Mercedes" = "darkgreen",
"Haas Ferrari" = "darkred",
"Williams Mercedes" = "lightblue",
"McLaren Mercedes" = "orange",
"Aston Martin Aramco Mercedes" = "lightyellow3",
"Alfa Romeo Ferrari" = "maroon",
"Alpine Renault" = "magenta",
"AlphaTauri RBPT" = "steelblue"
)) +
theme_minimal()
ggplotly(g, tooltip = "text")