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()`).
```