# \donttest{
library(nflplotR)
library(ggplot2)
team_abbr <- valid_team_names()
# remove conference logos from this example
team_abbr <- team_abbr[!team_abbr %in% c("AFC", "NFC", "NFL")]
df <- data.frame(
a = rep(1:8, 4),
b = sort(rep(1:4, 8), decreasing = TRUE),
teams = team_abbr
)
# keep alpha == 1 for all teams including an "A"
matches <- grepl("A", team_abbr)
df$alpha <- ifelse(matches, 1, 0.2)
# also set a custom fill colour for the non "A" teams
df$colour <- ifelse(matches, NA, "gray")
# scatterplot of all logos
ggplot(df, aes(x = a, y = b)) +
geom_nfl_logos(aes(team_abbr = teams), width = 0.075) +
geom_label(aes(label = teams), nudge_y = -0.35, alpha = 0.5) +
expand_limits(y = c(0.9, 4.1)) +
theme_void()
# apply alpha via an aesthetic from inside the dataset `df`
# please note that you have to add scale_alpha_identity() to use the alpha
# values in your dataset!
ggplot(df, aes(x = a, y = b)) +
geom_nfl_logos(aes(team_abbr = teams, alpha = alpha), width = 0.075) +
geom_label(aes(label = teams), nudge_y = -0.35, alpha = 0.5) +
expand_limits(y = c(0.9, 4.1)) +
scale_alpha_identity() +
theme_void()
# apply alpha and colour via an aesthetic from inside the dataset `df`
# please note that you have to add scale_alpha_identity() as well as
# scale_color_identity() to use the alpha and colour values in your dataset!
ggplot(df, aes(x = a, y = b)) +
geom_nfl_logos(aes(team_abbr = teams, alpha = alpha, colour = colour), width = 0.075) +
geom_label(aes(label = teams), nudge_y = -0.35, alpha = 0.5) +
expand_limits(y = c(0.9, 4.1)) +
scale_alpha_identity() +
scale_color_identity() +
theme_void()
# apply alpha as constant for all logos
ggplot(df, aes(x = a, y = b)) +
geom_nfl_logos(aes(team_abbr = teams), width = 0.075, alpha = 0.6) +
geom_label(aes(label = teams), nudge_y = -0.35, alpha = 0.5) +
expand_limits(y = c(0.9, 4.1)) +
theme_void()
# it's also possible to plot NFL and conference logos
dat <- data.frame(a = c(1.5, 1:2), b = c(1, 0, 0), teams = c("NFL", "AFC", "NFC"))
ggplot(dat, aes(x = a, y = b)) +
geom_nfl_logos(aes(team_abbr = teams), width = 0.25) +
coord_cartesian(xlim = c(0.5,2.5), ylim = c(-0.75, 1.75)) +
theme_void()
# }
Run the code above in your browser using DataLab