Compare commits
9 Commits
Author | SHA1 | Date |
---|---|---|
boB Rudis | 703013658f | 3 years ago |
boB Rudis | f3b6e57b48 | 3 years ago |
boB Rudis | 1cc6080fb7 | 4 years ago |
George Kampolis | 2a4d08d762 | 4 years ago |
boB Rudis | 7f039a1e0e | 4 years ago |
boB Rudis | f54d014702 | 4 years ago |
boB Rudis | 59d60dd704 | 4 years ago |
boB Rudis | 6046a48a4a | 4 years ago |
boB Rudis | 4c14d209dc | 4 years ago |
@ -1,2 +1,2 @@ |
|||
This package was submitted to CRAN on 2020-03-05. |
|||
Once it is accepted, delete this file and tag the release (commit f6d2a276cd). |
|||
This package was submitted to CRAN on 2020-03-06. |
|||
Once it is accepted, delete this file and tag the release (commit a599f17a1d). |
|||
|
@ -0,0 +1,209 @@ |
|||
#' A precise & pristine [ggplot2] theme with opinionated defaults and an emphasis on typoghraphy |
|||
#' |
|||
#' You should [import_goldman_sans()] first and also install the fonts on your |
|||
#' system before trying to use this theme. |
|||
#' |
|||
#' 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. |
|||
#' |
|||
#' @md |
|||
#' @section Why Goldman Sans?: |
|||
#' See <https://design.gs.com/d/story/goldman-sans/>. |
|||
#' |
|||
#' @md |
|||
#' @param base_family,base_size base font family and size |
|||
#' @param plot_title_family,plot_title_face,plot_title_size,plot_title_margin plot tilte family, face, size and margin |
|||
#' @param subtitle_family,subtitle_face,subtitle_size plot subtitle family, face and size |
|||
#' @param subtitle_margin plot subtitle margin bottom (single numeric value) |
|||
#' @param strip_text_family,strip_text_face,strip_text_size facet label font family, face and size |
|||
#' @param caption_family,caption_face,caption_size,caption_margin plot caption family, face, size and margin |
|||
#' @param axis_title_family,axis_title_face,axis_title_size axis title font family, face and size |
|||
#' @param axis_title_just axis title font justificationk one of `[blmcrt]` |
|||
#' @param axis_text_size font size of axis text |
|||
#' @param plot_margin plot margin (specify with [ggplot2::margin]) |
|||
#' @param grid_col grid color |
|||
#' @param grid panel grid (`TRUE`, `FALSE`, or a combination of `X`, `x`, `Y`, `y`) |
|||
#' @param axis_col axis color |
|||
#' @param axis add x or y axes? `TRUE`, `FALSE`, "`xy`" |
|||
#' @param ticks ticks if `TRUE` add ticks |
|||
#' @export |
|||
#' @examples \dontrun{ |
|||
#' 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_gs() |
|||
#' |
|||
#' # seminal bar chart |
|||
#' |
|||
#' update_geom_font_defaults(family=font_gs_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_gs(grid="Y") + |
|||
#' theme(axis.text.y=element_blank()) |
|||
#' } |
|||
theme_ipsum_gs <- function( |
|||
base_family="Goldman Sans Condensed", |
|||
base_size = 11.5, |
|||
plot_title_family="Goldman Sans Condensed", |
|||
plot_title_size = 18, |
|||
plot_title_face="bold", |
|||
plot_title_margin = 10, |
|||
subtitle_family=if (.Platform$OS.type == "windows") "Goldman Sans Condensed" else "Goldman Sans Condensed", |
|||
subtitle_size = 13, |
|||
subtitle_face = "plain", |
|||
subtitle_margin = 15, |
|||
strip_text_family = "Goldman Sans Condensed", |
|||
strip_text_size = 12, |
|||
strip_text_face = "bold", |
|||
caption_family=if (.Platform$OS.type == "windows") "Goldman Sans Condensed" else "Goldman Sans Condensed", |
|||
caption_size = 9, |
|||
caption_face = "plain", |
|||
caption_margin = 10, |
|||
axis_text_size = 9, |
|||
axis_title_family = base_family, |
|||
axis_title_size = 9, |
|||
axis_title_face = "plain", |
|||
axis_title_just = "rt", |
|||
plot_margin = margin(30, 30, 30, 30), |
|||
grid_col = "#cccccc", grid = TRUE, |
|||
axis_col = "#cccccc", axis = FALSE, ticks = FALSE) { |
|||
|
|||
ret <- ggplot2::theme_minimal(base_family=base_family, base_size=base_size) |
|||
|
|||
ret <- ret + theme(legend.background=element_blank()) |
|||
ret <- ret + theme(legend.key=element_blank()) |
|||
|
|||
if (inherits(grid, "character") | grid == TRUE) { |
|||
|
|||
ret <- ret + theme(panel.grid=element_line(color=grid_col, size=0.2)) |
|||
ret <- ret + theme(panel.grid.major=element_line(color=grid_col, size=0.2)) |
|||
ret <- ret + theme(panel.grid.minor=element_line(color=grid_col, size=0.15)) |
|||
|
|||
if (inherits(grid, "character")) { |
|||
if (regexpr("X", grid)[1] < 0) ret <- ret + theme(panel.grid.major.x=element_blank()) |
|||
if (regexpr("Y", grid)[1] < 0) ret <- ret + theme(panel.grid.major.y=element_blank()) |
|||
if (regexpr("x", grid)[1] < 0) ret <- ret + theme(panel.grid.minor.x=element_blank()) |
|||
if (regexpr("y", grid)[1] < 0) ret <- ret + theme(panel.grid.minor.y=element_blank()) |
|||
} |
|||
|
|||
} else { |
|||
ret <- ret + theme(panel.grid=element_blank()) |
|||
} |
|||
|
|||
if (inherits(axis, "character") | axis == TRUE) { |
|||
ret <- ret + theme(axis.line=element_line(color=axis_col, size=0.15)) |
|||
if (inherits(axis, "character")) { |
|||
axis <- tolower(axis) |
|||
if (regexpr("x", axis)[1] < 0) { |
|||
ret <- ret + theme(axis.line.x=element_blank()) |
|||
} else { |
|||
ret <- ret + theme(axis.line.x=element_line(color=axis_col, size=0.15)) |
|||
} |
|||
if (regexpr("y", axis)[1] < 0) { |
|||
ret <- ret + theme(axis.line.y=element_blank()) |
|||
} else { |
|||
ret <- ret + theme(axis.line.y=element_line(color=axis_col, size=0.15)) |
|||
} |
|||
} else { |
|||
ret <- ret + theme(axis.line.x=element_line(color=axis_col, size=0.15)) |
|||
ret <- ret + theme(axis.line.y=element_line(color=axis_col, size=0.15)) |
|||
} |
|||
} else { |
|||
ret <- ret + theme(axis.line=element_blank()) |
|||
} |
|||
|
|||
if (!ticks) { |
|||
ret <- ret + theme(axis.ticks = element_blank()) |
|||
ret <- ret + theme(axis.ticks.x = element_blank()) |
|||
ret <- ret + theme(axis.ticks.y = element_blank()) |
|||
} else { |
|||
ret <- ret + theme(axis.ticks = element_line(size=0.15)) |
|||
ret <- ret + theme(axis.ticks.x = element_line(size=0.15)) |
|||
ret <- ret + theme(axis.ticks.y = element_line(size=0.15)) |
|||
ret <- ret + theme(axis.ticks.length = grid::unit(5, "pt")) |
|||
} |
|||
|
|||
xj <- switch(tolower(substr(axis_title_just, 1, 1)), b=0, l=0, m=0.5, c=0.5, r=1, t=1) |
|||
yj <- switch(tolower(substr(axis_title_just, 2, 2)), b=0, l=0, m=0.5, c=0.5, r=1, t=1) |
|||
|
|||
ret <- ret + theme(axis.text.x=element_text(size=axis_text_size, margin=margin(t=0))) |
|||
ret <- ret + theme(axis.text.y=element_text(size=axis_text_size, margin=margin(r=0))) |
|||
ret <- ret + theme(axis.title=element_text(size=axis_title_size, family=axis_title_family)) |
|||
ret <- ret + theme(axis.title.x=element_text(hjust=xj, size=axis_title_size, |
|||
family=axis_title_family, face=axis_title_face)) |
|||
ret <- ret + theme(axis.title.y=element_text(hjust=yj, size=axis_title_size, |
|||
family=axis_title_family, face=axis_title_face)) |
|||
ret <- ret + theme(axis.title.y.right=element_text(hjust=yj, size=axis_title_size, angle=90, |
|||
family=axis_title_family, face=axis_title_face)) |
|||
ret <- ret + theme(strip.text=element_text(hjust=0, size=strip_text_size, |
|||
face=strip_text_face, family=strip_text_family)) |
|||
ret <- ret + theme(panel.spacing=grid::unit(2, "lines")) |
|||
ret <- ret + theme(plot.title=element_text(hjust=0, size=plot_title_size, |
|||
margin=margin(b=plot_title_margin), |
|||
family=plot_title_family, face=plot_title_face)) |
|||
ret <- ret + theme(plot.subtitle=element_text(hjust=0, size=subtitle_size, |
|||
margin=margin(b=subtitle_margin), |
|||
family=subtitle_family, face=subtitle_face)) |
|||
ret <- ret + theme(plot.caption=element_text(hjust=1, size=caption_size, |
|||
margin=margin(t=caption_margin), |
|||
family=caption_family, face=caption_face)) |
|||
ret <- ret + theme(plot.margin=plot_margin) |
|||
|
|||
ret |
|||
|
|||
} |
|||
|
|||
#' Import Goldman Sans font for use in charts |
|||
#' |
|||
#' Goldman Sans is a trademark of Goldman Sachs and distributed under the |
|||
#' [Goldman Sachs Restricted Font License](https://design.gs.com/d/legal/goldman-sans-license/). |
|||
#' |
|||
#' 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. |
|||
#' |
|||
#' @md |
|||
#' @note This will take care of ensuring PDF/PostScript usage. The location of the |
|||
#' font directory is displayed after the base import is complete. It is highly |
|||
#' recommended that you install them on your system the same way you would any |
|||
#' other font you wish to use in other programs. |
|||
#' @export |
|||
import_goldman_sans <- function() { |
|||
|
|||
gs_font_dir <- system.file("fonts", "goldman-sans", package="hrbrthemes") |
|||
|
|||
# suppressWarnings(suppressMessages(extrafont::font_import(gs_font_dir, prompt=FALSE))) |
|||
# |
|||
# message( |
|||
# sprintf( |
|||
# "You will likely need to install these fonts on your system as well.\n\nYou can find them in [%s]", |
|||
# gs_font_dir) |
|||
# ) |
|||
|
|||
} |
|||
|
|||
#' @rdname GoldmanSans |
|||
#' @md |
|||
#' @title Goldman Sans font name R variable aliases |
|||
#' @description `font_gs` == "`Goldman Sans Condensed`" |
|||
#' @format length 1 character vector |
|||
#' @export |
|||
font_gs <- "Goldman Sans Condensed" |
|||
|
@ -0,0 +1,259 @@ |
|||
#' A precise & pristine [ggplot2] theme with opinionated defaults and an emphasis on typoghraphy |
|||
#' |
|||
#' You should [import_inter()] first and also install the fonts on your |
|||
#' system before trying to use this theme. |
|||
#' |
|||
#' 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. |
|||
#' |
|||
#' @md |
|||
#' @section Why Inter?: |
|||
#' See <https://design.gs.com/d/story/goldman-sans/>. |
|||
#' |
|||
#' @md |
|||
#' @param base_family,base_size base font family and size |
|||
#' @param plot_title_family,plot_title_face,plot_title_size,plot_title_margin plot tilte family, face, size and margin |
|||
#' @param subtitle_family,subtitle_face,subtitle_size plot subtitle family, face and size |
|||
#' @param subtitle_margin plot subtitle margin bottom (single numeric value) |
|||
#' @param strip_text_family,strip_text_face,strip_text_size facet label font family, face and size |
|||
#' @param caption_family,caption_face,caption_size,caption_margin plot caption family, face, size and margin |
|||
#' @param axis_title_family,axis_title_face,axis_title_size axis title font family, face and size |
|||
#' @param axis_title_just axis title font justificationk one of `[blmcrt]` |
|||
#' @param axis_text_size font size of axis text |
|||
#' @param plot_margin plot margin (specify with [ggplot2::margin]) |
|||
#' @param grid_col grid color |
|||
#' @param grid panel grid (`TRUE`, `FALSE`, or a combination of `X`, `x`, `Y`, `y`) |
|||
#' @param axis_col axis color |
|||
#' @param axis add x or y axes? `TRUE`, `FALSE`, "`xy`" |
|||
#' @param ticks ticks if `TRUE` add ticks |
|||
#' @export |
|||
#' @examples \dontrun{ |
|||
#' 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_inter() |
|||
#' |
|||
#' # seminal bar chart |
|||
#' |
|||
#' update_geom_font_defaults(family=font_inter_medium) |
|||
#' |
|||
#' 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_inter(grid="Y") + |
|||
#' theme(axis.text.y=element_blank()) |
|||
#' } |
|||
theme_ipsum_inter <- function( |
|||
base_family="Inter-Medium", |
|||
base_size = 10, |
|||
plot_title_family="Inter-Bold", |
|||
plot_title_size = 16, |
|||
plot_title_face="bold", |
|||
plot_title_margin = 8, |
|||
subtitle_family="Inter-Light", |
|||
subtitle_size = 12, |
|||
subtitle_face = "plain", |
|||
subtitle_margin = 13, |
|||
strip_text_family = "Inter-SemiBold", |
|||
strip_text_size = 12, |
|||
strip_text_face = "bold", |
|||
caption_family="Inter-Thin", |
|||
caption_size = 9, |
|||
caption_face = "plain", |
|||
caption_margin = 10, |
|||
axis_text_family = "Inter-Light", |
|||
axis_text_face = "plain", |
|||
axis_text_size = 9, |
|||
axis_title_family = base_family, |
|||
axis_title_size = 9, |
|||
axis_title_face = "plain", |
|||
axis_title_just = "rt", |
|||
plot_margin = margin(30, 30, 30, 30), |
|||
grid_col = "#cccccc", grid = TRUE, |
|||
axis_col = "#cccccc", axis = FALSE, ticks = FALSE) { |
|||
|
|||
ret <- ggplot2::theme_minimal(base_family=base_family, base_size=base_size) |
|||
|
|||
ret <- ret + theme(legend.background=element_blank()) |
|||
ret <- ret + theme(legend.key=element_blank()) |
|||
|
|||
if (inherits(grid, "character") | grid == TRUE) { |
|||
|
|||
ret <- ret + theme(panel.grid=element_line(color=grid_col, size=0.2)) |
|||
ret <- ret + theme(panel.grid.major=element_line(color=grid_col, size=0.2)) |
|||
ret <- ret + theme(panel.grid.minor=element_line(color=grid_col, size=0.15)) |
|||
|
|||
if (inherits(grid, "character")) { |
|||
if (regexpr("X", grid)[1] < 0) ret <- ret + theme(panel.grid.major.x=element_blank()) |
|||
if (regexpr("Y", grid)[1] < 0) ret <- ret + theme(panel.grid.major.y=element_blank()) |
|||
if (regexpr("x", grid)[1] < 0) ret <- ret + theme(panel.grid.minor.x=element_blank()) |
|||
if (regexpr("y", grid)[1] < 0) ret <- ret + theme(panel.grid.minor.y=element_blank()) |
|||
} |
|||
|
|||
} else { |
|||
ret <- ret + theme(panel.grid=element_blank()) |
|||
} |
|||
|
|||
if (inherits(axis, "character") | axis == TRUE) { |
|||
ret <- ret + theme(axis.line=element_line(color=axis_col, size=0.15)) |
|||
if (inherits(axis, "character")) { |
|||
axis <- tolower(axis) |
|||
if (regexpr("x", axis)[1] < 0) { |
|||
ret <- ret + theme(axis.line.x=element_blank()) |
|||
} else { |
|||
ret <- ret + theme(axis.line.x=element_line(color=axis_col, size=0.15)) |
|||
} |
|||
if (regexpr("y", axis)[1] < 0) { |
|||
ret <- ret + theme(axis.line.y=element_blank()) |
|||
} else { |
|||
ret <- ret + theme(axis.line.y=element_line(color=axis_col, size=0.15)) |
|||
} |
|||
} else { |
|||
ret <- ret + theme(axis.line.x=element_line(color=axis_col, size=0.15)) |
|||
ret <- ret + theme(axis.line.y=element_line(color=axis_col, size=0.15)) |
|||
} |
|||
} else { |
|||
ret <- ret + theme(axis.line=element_blank()) |
|||
} |
|||
|
|||
if (!ticks) { |
|||
ret <- ret + theme(axis.ticks = element_blank()) |
|||
ret <- ret + theme(axis.ticks.x = element_blank()) |
|||
ret <- ret + theme(axis.ticks.y = element_blank()) |
|||
} else { |
|||
ret <- ret + theme(axis.ticks = element_line(size=0.15)) |
|||
ret <- ret + theme(axis.ticks.x = element_line(size=0.15)) |
|||
ret <- ret + theme(axis.ticks.y = element_line(size=0.15)) |
|||
ret <- ret + theme(axis.ticks.length = grid::unit(5, "pt")) |
|||
} |
|||
|
|||
xj <- switch(tolower(substr(axis_title_just, 1, 1)), b=0, l=0, m=0.5, c=0.5, r=1, t=1) |
|||
yj <- switch(tolower(substr(axis_title_just, 2, 2)), b=0, l=0, m=0.5, c=0.5, r=1, t=1) |
|||
|
|||
ret <- ret + theme(axis.text.x=element_text(size=axis_text_size, margin=margin(t=0))) |
|||
ret <- ret + theme(axis.text.y=element_text(size=axis_text_size, margin=margin(r=0))) |
|||
ret <- ret + theme(axis.title=element_text(size=axis_title_size, family=axis_title_family)) |
|||
ret <- ret + theme(axis.title.x=element_text(hjust=xj, size=axis_title_size, |
|||
family=axis_title_family, face=axis_title_face)) |
|||
ret <- ret + theme(axis.title.y=element_text(hjust=yj, size=axis_title_size, |
|||
family=axis_title_family, face=axis_title_face)) |
|||
ret <- ret + theme(axis.title.y.right=element_text(hjust=yj, size=axis_title_size, angle=90, |
|||
family=axis_title_family, face=axis_title_face)) |
|||
ret <- ret + theme(strip.text=element_text(hjust=0, size=strip_text_size, |
|||
face=strip_text_face, family=strip_text_family)) |
|||
ret <- ret + theme(panel.spacing=grid::unit(2, "lines")) |
|||
ret <- ret + theme(plot.title=element_text(hjust=0, size=plot_title_size, |
|||
margin=margin(b=plot_title_margin), |
|||
family=plot_title_family, face=plot_title_face)) |
|||
ret <- ret + theme(plot.subtitle=element_text(hjust=0, size=subtitle_size, |
|||
margin=margin(b=subtitle_margin), |
|||
family=subtitle_family, face=subtitle_face)) |
|||
ret <- ret + theme(plot.caption=element_text(hjust=1, size=caption_size, |
|||
margin=margin(t=caption_margin), |
|||
family=caption_family, face=caption_face)) |
|||
ret <- ret + theme(plot.margin=plot_margin) |
|||
|
|||
ret |
|||
|
|||
} |
|||
|
|||
#' Import Inter font for use in charts |
|||
#' |
|||
#' Inter is Copyright (c) 2016-2020 The Inter Project Authors |
|||
#' (<https://rsms.me/inter/>). |
|||
#' |
|||
#' 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. |
|||
#' |
|||
#' @md |
|||
#' @note This will take care of ensuring PDF/PostScript usage. The location of the |
|||
#' font directory is displayed after the base import is complete. It is highly |
|||
#' recommended that you install them on your system the same way you would any |
|||
#' other font you wish to use in other programs. |
|||
#' @export |
|||
import_inter <- function() { |
|||
|
|||
inter_font_dir <- system.file("fonts", "inter", package="hrbrthemes") |
|||
|
|||
suppressWarnings(suppressMessages(extrafont::font_import(inter_font_dir, prompt=FALSE))) |
|||
|
|||
message( |
|||
sprintf( |
|||
"You will likely need to install these fonts on your system as well.\n\nYou can find them in [%s]", |
|||
inter_font_dir) |
|||
) |
|||
|
|||
} |
|||
|
|||
|
|||
#' @rdname Inter |
|||
#' @md |
|||
#' @title Inter font name R variable aliases |
|||
#' @description `font_inter_thin` == "`Inter-Thin`" |
|||
#' @format length 1 character vector |
|||
#' @export |
|||
font_inter_thin <- "Inter-Thin" |
|||
|
|||
#' @rdname Inter |
|||
#' @md |
|||
#' @title Inter font name R variable aliases |
|||
#' @description `font_inter_thin_italic` == "`Inter-ThinItalic`" |
|||
#' @format length 1 character vector |
|||
#' @export |
|||
font_inter_thin_italic <- "Inter-ThinItalic" |
|||
|
|||
#' @rdname Inter |
|||
#' @md |
|||
#' @title Inter font name R variable aliases |
|||
#' @description `font_inter_medium` == "`Inter-Medium`" |
|||
#' @format length 1 character vector |
|||
#' @export |
|||
font_inter_medium <- "Inter-Medium" |
|||
|
|||
#' @rdname Inter |
|||
#' @md |
|||
#' @title Inter font name R variable aliases |
|||
#' @description `font_inter_medium_italic` == "`Inter-MediumItalic`" |
|||
#' @format length 1 character vector |
|||
#' @export |
|||
font_inter_medium_italic <- "Inter-MediumItalic" |
|||
|
|||
#' @rdname Inter |
|||
#' @md |
|||
#' @title Inter font name R variable aliases |
|||
#' @description `font_inter_semibold` == "`Inter-SemiBold`" |
|||
#' @format length 1 character vector |
|||
#' @export |
|||
font_inter_semibold <- "Inter-SemiBold" |
|||
|
|||
#' @rdname Inter |
|||
#' @md |
|||
#' @title Inter font name R variable aliases |
|||
#' @description `font_inter_bold` == "`Inter-Bold`" |
|||
#' @format length 1 character vector |
|||
#' @export |
|||
font_inter_bold <- "Inter-Bold" |
|||
|
|||
#' @rdname Inter |
|||
#' @md |
|||
#' @title Inter font name R variable aliases |
|||
#' @description `font_inter_italic` == "`Inter-Italic`" |
|||
#' @format length 1 character vector |
|||
#' @export |
|||
font_inter_italic <- "Inter-Italic" |
@ -1,23 +1,13 @@ |
|||
## Test environments |
|||
|
|||
* local OS X install + travis-ci, R 3.5.0 & devel (Travis is currently failing |
|||
- if folks check - due to a missing CRAN mirror component in RStudio's CRAN |
|||
mirror for Travis) |
|||
* ubuntu 14.04 (on travis-ci), R oldrel, current, devel |
|||
* local OS X install, R 3.6.3 |
|||
* ubuntu 14.04 (on travis-ci), R 3.6.3 |
|||
* win-builder (devel and release) |
|||
* rhub::check_for_cran() |
|||
|
|||
## R CMD check results |
|||
|
|||
0 errors | 0 warnings | 0 notes%>% hrbrthemes exported operators |
|||
|
|||
## Reverse dependencies |
|||
0 errors | 0 warnings | 0 notes |
|||
|
|||
- [BAwiR, fontHind, fontMPlus, ggstatsplot, mlr] all OK |
|||
* This is an update |
|||
|
|||
--- |
|||
i think i fixed the named package link in the revdep. |
|||
|
|||
- new fonts, a new white theme and a new dark theme |
|||
- fixed typos in documentation |
|||
- resubmitted after errors noted on https://win-builder.r-project.org/incoming_pretest/hrbrthemes_0.6.0_20190120_223916/Windows/00check.log |
|||
- re-re-submitted (gdtools in the right place now) |
@ -0,0 +1,16 @@ |
|||
% Generated by roxygen2: do not edit by hand |
|||
% Please edit documentation in R/goldmansans.R |
|||
\docType{data} |
|||
\name{font_gs} |
|||
\alias{font_gs} |
|||
\title{Goldman Sans font name R variable aliases} |
|||
\format{ |
|||
length 1 character vector |
|||
} |
|||
\usage{ |
|||
font_gs |
|||
} |
|||
\description{ |
|||
\code{font_gs} == "\verb{Goldman Sans Condensed}" |
|||
} |
|||
\keyword{datasets} |
@ -0,0 +1,58 @@ |
|||
% Generated by roxygen2: do not edit by hand |
|||
% Please edit documentation in R/inter.R |
|||
\docType{data} |
|||
\name{font_inter_thin} |
|||
\alias{font_inter_thin} |
|||
\alias{font_inter_thin_italic} |
|||
\alias{font_inter_medium} |
|||
\alias{font_inter_medium_italic} |
|||
\alias{font_inter_semibold} |
|||
\alias{font_inter_bold} |
|||
\alias{font_inter_italic} |
|||
\title{Inter font name R variable aliases} |
|||
\format{ |
|||
length 1 character vector |
|||
|
|||
length 1 character vector |
|||
|
|||
length 1 character vector |
|||
|
|||
length 1 character vector |
|||
|
|||
length 1 character vector |
|||
|
|||
length 1 character vector |
|||
|
|||
length 1 character vector |
|||
} |
|||
\usage{ |
|||
font_inter_thin |
|||
|
|||
font_inter_thin_italic |
|||
|
|||
font_inter_medium |
|||
|
|||
font_inter_medium_italic |
|||
|
|||
font_inter_semibold |
|||
|
|||
font_inter_bold |
|||
|
|||
font_inter_italic |
|||
} |
|||
\description{ |
|||
\code{font_inter_thin} == "\code{Inter-Thin}" |
|||
|
|||
\code{font_inter_thin_italic} == "\code{Inter-ThinItalic}" |
|||
|
|||
\code{font_inter_medium} == "\code{Inter-Medium}" |
|||
|
|||
\code{font_inter_medium_italic} == "\code{Inter-MediumItalic}" |
|||
|
|||
\code{font_inter_semibold} == "\code{Inter-SemiBold}" |
|||
|
|||
\code{font_inter_bold} == "\code{Inter-Bold}" |
|||
|
|||
\code{font_inter_italic} == "\code{Inter-Italic}" |
|||
} |
|||
\keyword{datasets} |
Before Width: | Height: | Size: 42 KiB After Width: | Height: | Size: 42 KiB |
Before Width: | Height: | Size: 31 KiB After Width: | Height: | Size: 32 KiB |
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 60 KiB After Width: | Height: | Size: 59 KiB |
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 26 KiB |
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 59 KiB After Width: | Height: | Size: 59 KiB |
@ -0,0 +1,24 @@ |
|||
% Generated by roxygen2: do not edit by hand |
|||
% Please edit documentation in R/goldmansans.R |
|||
\name{import_goldman_sans} |
|||
\alias{import_goldman_sans} |
|||
\title{Import Goldman Sans font for use in charts} |
|||
\usage{ |
|||
import_goldman_sans() |
|||
} |
|||
\description{ |
|||
Goldman Sans is a trademark of Goldman Sachs and distributed under the |
|||
\href{https://design.gs.com/d/legal/goldman-sans-license/}{Goldman Sachs Restricted Font License}. |
|||
} |
|||
\details{ |
|||
There is an option \code{hrbrthemes.loadfonts} which -- if set to \code{TRUE} -- will |
|||
call \code{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. |
|||
} |
|||
\note{ |
|||
This will take care of ensuring PDF/PostScript usage. The location of the |
|||
font directory is displayed after the base import is complete. It is highly |
|||
recommended that you install them on your system the same way you would any |
|||
other font you wish to use in other programs. |
|||
} |
@ -0,0 +1,24 @@ |
|||
% Generated by roxygen2: do not edit by hand |
|||
% Please edit documentation in R/inter.R |
|||
\name{import_inter} |
|||
\alias{import_inter} |
|||
\title{Import Inter font for use in charts} |
|||
\usage{ |
|||
import_inter() |
|||
} |
|||
\description{ |
|||
Inter is Copyright (c) 2016-2020 The Inter Project Authors |
|||
(\url{https://rsms.me/inter/}). |
|||
} |
|||
\details{ |
|||
There is an option \code{hrbrthemes.loadfonts} which -- if set to \code{TRUE} -- will |
|||
call \code{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. |
|||
} |
|||
\note{ |
|||
This will take care of ensuring PDF/PostScript usage. The location of the |
|||
font directory is displayed after the base import is complete. It is highly |
|||
recommended that you install them on your system the same way you would any |
|||
other font you wish to use in other programs. |
|||
} |
@ -0,0 +1,115 @@ |
|||
% Generated by roxygen2: do not edit by hand |
|||
% Please edit documentation in R/goldmansans.R |
|||
\name{theme_ipsum_gs} |
|||
\alias{theme_ipsum_gs} |
|||
\title{A precise & pristine \link{ggplot2} theme with opinionated defaults and an emphasis on typoghraphy} |
|||
\usage{ |
|||
theme_ipsum_gs( |
|||
base_family = "Goldman Sans Condensed", |
|||
base_size = 11.5, |
|||
plot_title_family = "Goldman Sans Condensed", |
|||
plot_title_size = 18, |
|||
plot_title_face = "bold", |
|||
plot_title_margin = 10, |
|||
subtitle_family = if (.Platform$OS.type == "windows") "Goldman Sans Condensed" else |
|||
"Goldman Sans Condensed", |
|||
subtitle_size = 13, |
|||
subtitle_face = "plain", |
|||
subtitle_margin = 15, |
|||
strip_text_family = "Goldman Sans Condensed", |
|||
strip_text_size = 12, |
|||
strip_text_face = "bold", |
|||
caption_family = if (.Platform$OS.type == "windows") "Goldman Sans Condensed" else |
|||
"Goldman Sans Condensed", |
|||
caption_size = 9, |
|||
caption_face = "plain", |
|||
caption_margin = 10, |
|||
axis_text_size = 9, |
|||
axis_title_family = base_family, |
|||
axis_title_size = 9, |
|||
axis_title_face = "plain", |
|||
axis_title_just = "rt", |
|||
plot_margin = margin(30, 30, 30, 30), |
|||
grid_col = "#cccccc", |
|||
grid = TRUE, |
|||
axis_col = "#cccccc", |
|||
axis = FALSE, |
|||
ticks = FALSE |
|||
) |
|||
} |
|||
\arguments{ |
|||
\item{base_family, base_size}{base font family and size} |
|||
|
|||
\item{plot_title_family, plot_title_face, plot_title_size, plot_title_margin}{plot tilte family, face, size and margin} |
|||
|
|||
\item{subtitle_family, subtitle_face, subtitle_size}{plot subtitle family, face and size} |
|||
|
|||
\item{subtitle_margin}{plot subtitle margin bottom (single numeric value)} |
|||
|
|||
\item{strip_text_family, strip_text_face, strip_text_size}{facet label font family, face and size} |
|||
|
|||
\item{caption_family, caption_face, caption_size, caption_margin}{plot caption family, face, size and margin} |
|||
|
|||
\item{axis_text_size}{font size of axis text} |
|||
|
|||
\item{axis_title_family, axis_title_face, axis_title_size}{axis title font family, face and size} |
|||
|
|||
\item{axis_title_just}{axis title font justificationk one of \verb{[blmcrt]}} |
|||
|
|||
\item{plot_margin}{plot margin (specify with \link[ggplot2:element]{ggplot2::margin})} |
|||
|
|||
\item{grid_col}{grid color} |
|||
|
|||
\item{grid}{panel grid (\code{TRUE}, \code{FALSE}, or a combination of \code{X}, \code{x}, \code{Y}, \code{y})} |
|||
|
|||
\item{axis_col}{axis color} |
|||
|
|||
\item{axis}{add x or y axes? \code{TRUE}, \code{FALSE}, "\code{xy}"} |
|||
|
|||
\item{ticks}{ticks if \code{TRUE} add ticks} |
|||
} |
|||
\description{ |
|||
You should \code{\link[=import_goldman_sans]{import_goldman_sans()}} first and also install the fonts on your |
|||
system before trying to use this theme. |
|||
} |
|||
\details{ |
|||
There is an option \code{hrbrthemes.loadfonts} which -- if set to \code{TRUE} -- will |
|||
call \code{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. |
|||
} |
|||
\section{Why Goldman Sans?}{ |
|||
|
|||
See \url{https://design.gs.com/d/story/goldman-sans/}. |
|||
} |
|||
|
|||
\examples{ |
|||
\dontrun{ |
|||
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_gs() |
|||
|
|||
# seminal bar chart |
|||
|
|||
update_geom_font_defaults(family=font_gs_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_gs(grid="Y") + |
|||
theme(axis.text.y=element_blank()) |
|||
} |
|||
} |
@ -0,0 +1,115 @@ |
|||
% Generated by roxygen2: do not edit by hand |
|||
% Please edit documentation in R/inter.R |
|||
\name{theme_ipsum_inter} |
|||
\alias{theme_ipsum_inter} |
|||
\title{A precise & pristine \link{ggplot2} theme with opinionated defaults and an emphasis on typoghraphy} |
|||
\usage{ |
|||
theme_ipsum_inter( |
|||
base_family = "Inter-Medium", |
|||
base_size = 10, |
|||
plot_title_family = "Inter-Bold", |
|||
plot_title_size = 16, |
|||
plot_title_face = "bold", |
|||
plot_title_margin = 8, |
|||
subtitle_family = "Inter-Light", |
|||
subtitle_size = 12, |
|||
subtitle_face = "plain", |
|||
subtitle_margin = 13, |
|||
strip_text_family = "Inter-SemiBold", |
|||
strip_text_size = 12, |
|||
strip_text_face = "bold", |
|||
caption_family = "Inter-Thin", |
|||
caption_size = 9, |
|||
caption_face = "plain", |
|||
caption_margin = 10, |
|||
axis_text_family = "Inter-Light", |
|||
axis_text_face = "plain", |
|||
axis_text_size = 9, |
|||
axis_title_family = base_family, |
|||
axis_title_size = 9, |
|||
axis_title_face = "plain", |
|||
axis_title_just = "rt", |
|||
plot_margin = margin(30, 30, 30, 30), |
|||
grid_col = "#cccccc", |
|||
grid = TRUE, |
|||
axis_col = "#cccccc", |
|||
axis = FALSE, |
|||
ticks = FALSE |
|||
) |
|||
} |
|||
\arguments{ |
|||
\item{base_family, base_size}{base font family and size} |
|||
|
|||
\item{plot_title_family, plot_title_face, plot_title_size, plot_title_margin}{plot tilte family, face, size and margin} |
|||
|
|||
\item{subtitle_family, subtitle_face, subtitle_size}{plot subtitle family, face and size} |
|||
|
|||
\item{subtitle_margin}{plot subtitle margin bottom (single numeric value)} |
|||
|
|||
\item{strip_text_family, strip_text_face, strip_text_size}{facet label font family, face and size} |
|||
|
|||
\item{caption_family, caption_face, caption_size, caption_margin}{plot caption family, face, size and margin} |
|||
|
|||
\item{axis_text_size}{font size of axis text} |
|||
|
|||
\item{axis_title_family, axis_title_face, axis_title_size}{axis title font family, face and size} |
|||
|
|||
\item{axis_title_just}{axis title font justificationk one of \verb{[blmcrt]}} |
|||
|
|||
\item{plot_margin}{plot margin (specify with \link[ggplot2:element]{ggplot2::margin})} |
|||
|
|||
\item{grid_col}{grid color} |
|||
|
|||
\item{grid}{panel grid (\code{TRUE}, \code{FALSE}, or a combination of \code{X}, \code{x}, \code{Y}, \code{y})} |
|||
|
|||
\item{axis_col}{axis color} |
|||
|
|||
\item{axis}{add x or y axes? \code{TRUE}, \code{FALSE}, "\code{xy}"} |
|||
|
|||
\item{ticks}{ticks if \code{TRUE} add ticks} |
|||
} |
|||
\description{ |
|||
You should \code{\link[=import_inter]{import_inter()}} first and also install the fonts on your |
|||
system before trying to use this theme. |
|||
} |
|||
\details{ |
|||
There is an option \code{hrbrthemes.loadfonts} which -- if set to \code{TRUE} -- will |
|||
call \code{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. |
|||
} |
|||
\section{Why Inter?}{ |
|||
|
|||
See \url{https://design.gs.com/d/story/goldman-sans/}. |
|||
} |
|||
|
|||
\examples{ |
|||
\dontrun{ |
|||
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_inter() |
|||
|
|||
# seminal bar chart |
|||
|
|||
update_geom_font_defaults(family=font_inter_medium) |
|||
|
|||
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_inter(grid="Y") + |
|||
theme(axis.text.y=element_blank()) |
|||
} |
|||
} |