A precise & pristine ggplot2 theme with opinionated defaults and an emphasis on typoghraphy
theme_anac.Rd
You should import_titillium_web()
first and also install the fonts on your
system before trying to use this theme.
Usage
theme_anac(
base_family = "Titillium Web",
base_size = 11.5,
plot_title_family = base_family,
plot_title_size = 18,
plot_title_face = "bold",
plot_title_margin = 10,
subtitle_family = if (.Platform$OS.type == "windows") "Titillium Web" else
"Titillium Web Light",
subtitle_size = 13,
subtitle_face = "plain",
subtitle_margin = 15,
strip_text_family = base_family,
strip_text_size = 12,
strip_text_face = "plain",
caption_family = if (.Platform$OS.type == "windows") "Titillium Web" else
"Titillium Web Light",
caption_size = 9,
caption_face = "plain",
caption_margin = 10,
axis_text_size = base_size,
axis_title_family = base_family,
axis_title_size = 9,
axis_title_face = "plain",
axis_title_just = "rt",
plot_margin = margin(30, 30, 30, 30),
panel_spacing = grid::unit(2, "lines"),
grid_col = "#266FB6",
grid = TRUE,
axis_col = "#266FB6",
axis = FALSE,
ticks = FALSE
)
Arguments
- base_family, base_size
base font family and size
- plot_title_family, plot_title_face, plot_title_size, plot_title_margin
plot tilte family, face, size and margin
- subtitle_family, subtitle_face, subtitle_size
plot subtitle family, face and size
- subtitle_margin
plot subtitle margin bottom (single numeric value)
- strip_text_family, strip_text_face, strip_text_size
facet label font family, face and size
- caption_family, caption_face, caption_size, caption_margin
plot caption family, face, size and margin
- axis_text_size
font size of axis text
- axis_title_family, axis_title_face, axis_title_size
axis title font family, face and size
- axis_title_just
axis title font justificationk one of
[blmcrt]
- plot_margin
plot margin (specify with ggplot2::margin)
- panel_spacing
panel spacing (use
unit()
)- grid_col
grid color
- grid
panel grid (
TRUE
,FALSE
, or a combination ofX
,x
,Y
,y
)- axis_col
axis color
- axis
add x or y axes?
TRUE
,FALSE
, "xy
"- ticks
ticks if
TRUE
add ticks
Details
There is an option hrbrthemes.loadfonts
which -- if set to TRUE
-- will
call extrafont::loadfonts()
to register non-core fonts with R PDF & PostScript
devices. If you are running under Windows, the package calls the same function
to register non-core fonts with the Windows graphics device.
Why Titillium Web?
It's free, has tolerable kerning pairs and multiple weights. It's actually the official font for italian governament agencies.
Examples
if (FALSE) {
library(ggplot2)
library(dplyr)
# seminal scatterplot
ggplot(mtcars, aes(mpg, wt)) +
geom_point() +
labs(
x = "Fuel efficiency (mpg)", y = "Weight (tons)",
title = "Seminal ggplot2 scatterplot example",
subtitle = "A plot that is only useful for demonstration purposes",
caption = "Brought to you by the letter 'g'"
) +
theme_ipsum_rc()
# seminal bar chart
# note: make this font_rc on Windows
update_geom_font_defaults(family = font_rc_light)
count(mpg, class) %>%
ggplot(aes(class, n)) +
geom_col() +
geom_text(aes(label = n), nudge_y = 3) +
labs(
x = "Fuel efficiency (mpg)", y = "Weight (tons)",
title = "Seminal ggplot2 bar chart example",
subtitle = "A plot that is only useful for demonstration purposes",
caption = "Brought to you by the letter 'g'"
) +
theme_ipsum_rc(grid = "Y") +
theme(axis.text.y = element_blank())
}