scale_axes_mlb | R Documentation |
scale_x_mlb()
and scale_y_mlb()
have been superceded in favor of element_*_logo()
functions
These functions map MLB team names to their team logos and make
them available as axis labels
scale_x_mlb(
...,
expand = ggplot2::waiver(),
guide = ggplot2::waiver(),
position = "bottom",
size = 12
)
scale_y_mlb(
...,
expand = ggplot2::waiver(),
guide = ggplot2::waiver(),
position = "left",
size = 12
)
... |
Arguments passed on to
|
expand |
For position scales, a vector of range expansion constants used to add some
padding around the data to ensure that they are placed some distance
away from the axes. Use the convenience function |
guide |
A function used to create a guide or its name. See
|
position |
For position scales, The position of the axis.
|
size |
The logo size in pixels. It is applied as height for an x-scale and as width for an y-scale. |
The scale translates MLB team abbreviations into raw image
html and places the html as axis labels. Because of the way ggplots are
constructed, it is necessary to adjust the theme()
after calling this
scale. This can be done by calling theme_x_mlb()
or theme_y_mlb()
or alternatively by manually changing the relevant axis.text
to
ggtext::element_markdown()
. However, this will only work if an underlying
dependency, "gridtext", is installed with a newer version than 0.1.4
A discrete ggplot2 scale created with ggplot2::scale_x_discrete()
or
ggplot2::scale_y_discrete()
.
library(mlbplotR)
library(ggplot2)
team_abbr <- valid_team_names()
# remove league logos from this example
team_abbr <- team_abbr[!team_abbr %in% c("AL", "NL", "MLB")]
df <- data.frame(
random_value = runif(length(team_abbr), 0, 1),
teams = team_abbr
)
if (utils::packageVersion("gridtext") > "0.1.4"){
# use logos for x-axis
ggplot(df, aes(x = teams, y = random_value)) +
geom_col(aes(color = teams, fill = teams), width = 0.5) +
scale_color_mlb(type = "secondary") +
scale_fill_mlb(alpha = 0.4) +
scale_x_mlb() +
theme_minimal() +
# theme_*_mlb requires gridtext version > 0.1.4
theme_x_mlb()
# use logos for y-axis
ggplot(df, aes(y = teams, x = random_value)) +
geom_col(aes(color = teams, fill = teams), width = 0.5) +
scale_color_mlb(type = "secondary") +
scale_fill_mlb(alpha = 0.4) +
scale_y_mlb() +
theme_minimal() +
# theme_*_mlb requires gridtext version > 0.1.4
theme_y_mlb()
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.