Browse Source

theme_modern_rc

tags/0.8.0
boB Rudis 7 years ago
parent
commit
22f82b6146
No known key found for this signature in database GPG Key ID: 1D7529BE14E2BBA9
  1. 115
      R/roboto-condensed.r
  2. 9
      R/theme-ipsum.r
  3. 1
      hrbrthemes.Rproj
  4. 10
      man/import_roboto_condensed.Rd
  5. 2
      man/theme_ipsum.Rd
  6. 16
      man/theme_ipsum_rc.Rd
  7. 2
      man/update_geom_font_defaults.Rd

115
R/roboto-condensed.r

@ -164,6 +164,120 @@ theme_ipsum_rc <- function(
}
#' @inheritParams hrbrthemes::theme_ipsum_rc
#' @rdname theme_ipsum_rc
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.x=grid::unit(2, "lines"))
ret <- ret + theme(panel.spacing.y=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
}
#' Import Roboto Condensed font for use in charts
#'
#' Roboto Condensed is a trademark of Google.
@ -173,6 +287,7 @@ theme_ipsum_rc <- function(
#' 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

9
R/theme-ipsum.r

@ -1,5 +1,7 @@
#' A precise & pristine [ggplot2] theme with opinionated defaults and an emphasis on typography
#'
#' Also has a "dark" / "modern" version for the new RStudio theme
#'
#' @md
#' @section Why Arial Narrow?:
#' First and foremost, Arial Narrow is generally installed by default or readily
@ -173,9 +175,10 @@ theme_ipsum <- function(base_family="Arial Narrow", base_size = 11.5,
#'
#' @param family,face,size font family name, face and size
#' @export
update_geom_font_defaults <- function(family="Arial Narrow", face="plain", size=3.5) {
update_geom_defaults("text", list(family=family, face=face, size=size))
update_geom_defaults("label", list(family=family, face=face, size=size))
update_geom_font_defaults <- function(family="Arial Narrow", face="plain", size=3.5,
color = "#2b2b2b") {
update_geom_defaults("text", list(family=family, face=face, size=size, color=color))
update_geom_defaults("label", list(family=family, face=face, size=size, color=color))
}
#' @rdname ArialNarrow

1
hrbrthemes.Rproj

@ -3,6 +3,7 @@ Version: 1.0
RestoreWorkspace: Default
SaveWorkspace: Default
AlwaysSaveHistory: Default
QuitChildProcessesOnExit: Default
EnableCodeIndexing: Yes
UseSpacesForTab: Yes

10
man/import_roboto_condensed.Rd

@ -10,14 +10,14 @@ import_roboto_condensed()
Roboto Condensed is a trademark of Google.
}
\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
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.
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.
}

2
man/theme_ipsum.Rd

@ -47,7 +47,7 @@ theme_ipsum(base_family = "Arial Narrow", base_size = 11.5,
\item{ticks}{ticks if \code{TRUE} add ticks}
}
\description{
A precise & pristine \link{ggplot2} theme with opinionated defaults and an emphasis on typography
Also has a "dark" / "modern" version for the new RStudio theme
}
\section{Why Arial Narrow?}{

16
man/theme_ipsum_rc.Rd

@ -2,6 +2,7 @@
% Please edit documentation in R/roboto-condensed.r
\name{theme_ipsum_rc}
\alias{theme_ipsum_rc}
\alias{theme_modern_rc}
\title{A precise & pristine \link{ggplot2} theme with opinionated defaults and an emphasis on typoghraphy}
\usage{
theme_ipsum_rc(base_family = "Roboto Condensed", base_size = 11.5,
@ -18,6 +19,21 @@ theme_ipsum_rc(base_family = "Roboto Condensed", base_size = 11.5,
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)
theme_modern_rc(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)
}
\arguments{
\item{base_family, base_size}{base font family and size}

2
man/update_geom_font_defaults.Rd

@ -5,7 +5,7 @@
\title{Update matching font defaults for text geoms}
\usage{
update_geom_font_defaults(family = "Arial Narrow", face = "plain",
size = 3.5)
size = 3.5, color = "#2b2b2b")
}
\arguments{
\item{family, face, size}{font family name, face and size}

Loading…
Cancel
Save