@ -0,0 +1,129 @@ |
|||
#' @inheritParams hrbrthemes::theme_ipsum_rc |
|||
#' @rdname theme_ipsum_rc |
|||
#' @export |
|||
theme_modern_rc <- function (base_family = "Roboto Condensed", 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") "Roboto Condensed" else "Roboto Condensed 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") "Roboto Condensed" else "Roboto Condensed 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), grid = TRUE, axis = FALSE, ticks = FALSE) { |
|||
|
|||
grid_col <- axis_col <- "white" |
|||
|
|||
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="white", 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(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 <- ret + |
|||
theme(rect = element_rect(fill = "#0f0f0f", color = "#0f0f0f")) + |
|||
theme(plot.background = element_rect(fill = "#0f0f0f", color = "#0f0f0f")) + |
|||
theme(panel.background = element_rect(fill = "#0f0f0f", color = "#0f0f0f")) + |
|||
theme(rect = element_rect(fill = "#0f0f0f", color = "#0f0f0f")) + |
|||
theme(text = element_text(color = "white")) + |
|||
theme(axis.text = element_text(color = "white")) + |
|||
theme(title = element_text(color = "white")) + |
|||
theme(plot.title = element_text(color = "white")) + |
|||
theme(plot.subtitle = element_text(color = "white")) + |
|||
theme(line = element_line(color = "white")) + |
|||
theme(axis.ticks = element_line(color = "white")) |
|||
|
|||
ret |
|||
|
|||
} |
|||
#' Change geom defaults from black to white for the modern theme |
|||
#' |
|||
#' @export |
|||
modern_geom_defaults <- function() { |
|||
|
|||
geoms <- c("abline", "area", "bar", "boxplot", "col", "crossbar", |
|||
"density", "dotplot", "errorbar", "errorbar", |
|||
"hline", "label", "line", "linerange", |
|||
"map", "path", "point", "polygon", "rect", "ribbon", "rug", "segment", |
|||
"step", "text", "tile", "violin", "vline") |
|||
|
|||
for (g in geoms) { |
|||
message(g) |
|||
update_geom_defaults(g, list(colour = "white", fill = "white")) |
|||
} |
|||
|
|||
} |
@ -0,0 +1,210 @@ |
|||
#' A precise & pristine [ggplot2] theme with opinionated defaults and an emphasis on typoghraphy |
|||
#' |
|||
#' You should [import_plex_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 IBM Plex Sans?: |
|||
#' It's free, has tolerable kerning pairs and multiple weights. It's also different |
|||
#' "not Helvetica". |
|||
#' |
|||
#' @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 effiiency (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 effiiency (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()) |
|||
#' } |
|||
theme_ipsum_ps <- function( |
|||
base_family="IBMPlexSans", base_size = 11.5, |
|||
plot_title_family="IBMPlexSans-Bold", plot_title_size = 18, |
|||
plot_title_face="plain", plot_title_margin = 10, |
|||
subtitle_family=if (.Platform$OS.type == "windows") "IBMPlexSans" else "IBMPlexSans-Light", |
|||
subtitle_size = 13, |
|||
subtitle_face = "plain", subtitle_margin = 15, |
|||
strip_text_family = "IBMPlexSans-Medium", strip_text_size = 12, |
|||
strip_text_face = "plain", |
|||
caption_family=if (.Platform$OS.type == "windows") "IBMPlexSans" else "IBMPlexSans-Thin", |
|||
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(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 IBM Plex Sans font for use in charts |
|||
#' |
|||
#' IBM Plex Sans is a trademark of IBM and distributed under the SIL Open Font License, Version 1.1. |
|||
#' |
|||
#' 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_plex_sans <- function() { |
|||
|
|||
rc_font_dir <- system.file("fonts", "plex-sans", package="hrbrthemes") |
|||
|
|||
suppressWarnings(suppressMessages(extrafont::font_import(rc_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]", |
|||
rc_font_dir) |
|||
) |
|||
|
|||
} |
|||
|
|||
#' @rdname PlexSans |
|||
#' @md |
|||
#' @title PlexSans font name R variable aliases |
|||
#' @description `font_ps` == "`IBMPlexSans`" |
|||
#' @format length 1 character vector |
|||
#' @export |
|||
font_ps <- "IBMPlexSans" |
|||
|
|||
#' @rdname PlexSans |
|||
#' @md |
|||
#' @note `font_ps_light` (a.k.a. "`IBMPlexSans-Light`") is not available on |
|||
#' Windows and will throw a warning if used in plots. |
|||
#' @description `font_ps_light` == "`IBMPlexSans-Light`" |
|||
#' @export |
|||
font_ps_light <- "IBMPlexSans-Light" |
|||
|
Before Width: | Height: | Size: 94 KiB After Width: | Height: | Size: 132 KiB |
Before Width: | Height: | Size: 63 KiB After Width: | Height: | Size: 94 KiB |
After Width: | Height: | Size: 63 KiB |
Before Width: | Height: | Size: 85 KiB After Width: | Height: | Size: 215 KiB |
Before Width: | Height: | Size: 82 KiB After Width: | Height: | Size: 85 KiB |
Before Width: | Height: | Size: 132 KiB After Width: | Height: | Size: 82 KiB |
@ -0,0 +1,23 @@ |
|||
% Generated by roxygen2: do not edit by hand |
|||
% Please edit documentation in R/plexsans.R |
|||
\docType{data} |
|||
\name{font_ps} |
|||
\alias{font_ps} |
|||
\alias{font_ps_light} |
|||
\title{PlexSans font name R variable aliases} |
|||
\format{length 1 character vector} |
|||
\usage{ |
|||
font_ps |
|||
|
|||
font_ps_light |
|||
} |
|||
\description{ |
|||
\code{font_ps} == "\code{IBMPlexSans}" |
|||
|
|||
\code{font_ps_light} == "\code{IBMPlexSans-Light}" |
|||
} |
|||
\note{ |
|||
\code{font_ps_light} (a.k.a. "\code{IBMPlexSans-Light}") is not available on |
|||
Windows and will throw a warning if used in plots. |
|||
} |
|||
\keyword{datasets} |
@ -0,0 +1,23 @@ |
|||
% Generated by roxygen2: do not edit by hand |
|||
% Please edit documentation in R/plexsans.R |
|||
\name{import_plex_sans} |
|||
\alias{import_plex_sans} |
|||
\title{Import IBM Plex Sans font for use in charts} |
|||
\usage{ |
|||
import_plex_sans() |
|||
} |
|||
\description{ |
|||
IBM Plex Sans is a trademark of IBM and distributed under the SIL Open Font License, Version 1.1. |
|||
} |
|||
\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,98 @@ |
|||
% Generated by roxygen2: do not edit by hand |
|||
% Please edit documentation in R/plexsans.R |
|||
\name{theme_ipsum_ps} |
|||
\alias{theme_ipsum_ps} |
|||
\title{A precise & pristine \link{ggplot2} theme with opinionated defaults and an emphasis on typoghraphy} |
|||
\usage{ |
|||
theme_ipsum_ps(base_family = "IBMPlexSans", base_size = 11.5, |
|||
plot_title_family = "IBMPlexSans-Bold", plot_title_size = 18, |
|||
plot_title_face = "plain", plot_title_margin = 10, subtitle_family = if |
|||
(.Platform$OS.type == "windows") "IBMPlexSans" else "IBMPlexSans-Light", |
|||
subtitle_size = 13, subtitle_face = "plain", subtitle_margin = 15, |
|||
strip_text_family = "IBMPlexSans-Medium", strip_text_size = 12, |
|||
strip_text_face = "plain", caption_family = if (.Platform$OS.type == |
|||
"windows") "IBMPlexSans" else "IBMPlexSans-Thin", 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 \code{[blmcrt]}} |
|||
|
|||
\item{plot_margin}{plot margin (specify with \link[ggplot2:margin]{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 \url{import_plex_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 IBM Plex Sans?}{ |
|||
|
|||
It's free, has tolerable kerning pairs and multiple weights. It's also different |
|||
"not Helvetica". |
|||
} |
|||
|
|||
\examples{ |
|||
\dontrun{ |
|||
library(ggplot2) |
|||
library(dplyr) |
|||
|
|||
# seminal scatterplot |
|||
ggplot(mtcars, aes(mpg, wt)) + |
|||
geom_point() + |
|||
labs(x="Fuel effiiency (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 effiiency (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()) |
|||
} |
|||
} |