Barber <- read_excel(file.choose())
#Filter
Brbnew <- Barber %>%
  filter(Lap_1 <= 76.6591)


# Plot
ggplot(Brbnew, aes(x = reorder(Driver, Lap_1, FUN = median), 
                   y = Lap_1, 
                   fill = Driver)) +
  geom_boxplot() +
  labs(
    title = "Lap Time Distribution by Driver - Barber",
    x = "Driver (Fastest → Slowest Median Laptime)",
    y = "Lap Time"
  ) +
  theme_minimal() +
  theme(
    axis.text.x = element_text(angle = 45, hjust = 1),
    legend.position = "none",   # removes redundant legend
    axis.title = element_text(face = "bold"),
  axis.text = element_text(face = "bold")  )

Top5 <- Brbnew %>%
  filter(Driver %in% c("Kirkwood, Kyle", "Palou, Alex", "Rahal, Graham", "Malukas, David", "Lundgaard, Christian"))

ggplot(Top5, aes(x = Lap, y = Lap_1, color = Driver, group = Driver)) +
  geom_line() +
  labs(
    title = "Lap Time by Driver Over Race - Top 5 at Barber",
    x = "Lap",
    y = "Lap Time",
    color = "Driver"
  ) +
  scale_y_continuous(limits = c(68.5, 72),
  breaks = seq(68.5, 72, by = 0.5)
)+
  scale_x_continuous(
  breaks = seq(0, 90, by = 5)
)+
  theme_minimal() + theme(
  axis.title = element_text(face = "bold"),
  axis.text = element_text(face = "bold")
)
## Warning: Removed 1 row containing missing values or values outside the scale range
## (`geom_line()`).

ggplot(Top5, aes(x = Lap, y = Lap_1, color = Driver)) +
  geom_line(alpha = 0.5) +
  geom_smooth(se = FALSE, linewidth = 0.9) +
  labs(
    title = "Lap Time Trends by Driver - Top 5 at Barber",
    x = "Lap",
    y = "Lap Time",
    color = "Driver"
  ) +
  scale_y_continuous(limits = c(68, 72), breaks = seq(68, 72, by = 0.5)) +
  scale_x_continuous(limits = c(2, 90), breaks = seq(0, 90, by = 5)) +
  theme_minimal() +
  theme(
    axis.title = element_text(size = 14, face = "bold"),
    axis.text  = element_text(size = 12, face = "bold"),
    legend.title = element_text(size = 13, face = "bold"),
    legend.text  = element_text(size = 12),
    plot.title = element_text(size = 16, face = "bold"),
    aspect.ratio = 0.6
  )
## `geom_smooth()` using method = 'loess' and formula = 'y ~ x'
## Warning: Removed 10 rows containing non-finite outside the scale range
## (`stat_smooth()`).
## Warning: Removed 10 rows containing missing values or values outside the scale range
## (`geom_line()`).

```