Type: | Package |
Title: | Dark Mode for 'ggplot2' Themes |
Version: | 0.2.1 |
Author: | Neal Grantham |
Maintainer: | Neal Grantham <neal@nsgrantham.com> |
Description: | Activate dark mode on your favorite 'ggplot2' theme with dark_mode() or use the dark versions of 'ggplot2' themes, including dark_theme_gray(), dark_theme_minimal(), and others. When a dark theme is applied, all geom color and geom fill defaults are changed to make them visible against a dark background. To restore the defaults to their original values, use invert_geom_defaults(). |
License: | MIT + file LICENSE |
Depends: | R (≥ 3.1) |
Imports: | ggplot2 (≥ 3.0) |
Suggests: | testthat |
Encoding: | UTF-8 |
LazyData: | true |
RoxygenNote: | 6.1.0 |
NeedsCompilation: | no |
Packaged: | 2019-01-09 08:17:48 UTC; neal |
Repository: | CRAN |
Date/Publication: | 2019-01-11 17:30:06 UTC |
'ggdark': Dark mode for 'ggplot2'
Description
Use dark_mode() on your favorite 'ggplot2' theme to activate its dark mode. 'ggdark' also provides dark versions of the themes included in 'ggplot2': dark_theme_grey(), dark_theme_bw(), dark_theme_minimal(), and others. When a dark theme is applied, all geom color and geom fill defaults are inverted to make them visible against a dark background. To change them back, use invert_geom_defaults().
Activate dark mode on a 'ggplot2' theme
Description
Activate dark mode on a 'ggplot2' theme
Usage
dark_mode(.theme = theme_get(), verbose = TRUE,
force_geom_invert = FALSE)
Arguments
.theme |
ggplot2 theme object |
verbose |
print messages (default: TRUE) |
force_geom_invert |
Force the inversion of geom defaults for fill and color/colour (default: FALSE) |
Value
dark version of theme
Examples
library(ggplot2)
p1 <- ggplot(iris, aes(Sepal.Width, Sepal.Length, color = Species)) +
geom_point()
p1 # theme returned by theme_get()
p1 + dark_mode() # activate dark mode on theme returned by theme_get()
p2 <- ggplot(iris, aes(Sepal.Width, Sepal.Length)) +
geom_point() +
facet_wrap(~ Species)
p2 + dark_mode(theme_minimal()) # activate dark mode on another theme
invert_geom_defaults() # restore geom defaults to their original values
Get all geoms from loaded namespaces
Description
Get all geoms from loaded namespaces
Usage
get_geoms()
Complete dark themes
Description
These are dark versions of complete themes from 'ggplot2' which control all non-data display. Use theme() if you just need to tweak the display of an existing theme.
Usage
dark_theme_bw(base_size = 11, base_family = "",
base_line_size = base_size/22, base_rect_size = base_size/22)
dark_theme_classic(base_size = 11, base_family = "",
base_line_size = base_size/22, base_rect_size = base_size/22)
dark_theme_gray(base_size = 11, base_family = "",
base_line_size = base_size/22, base_rect_size = base_size/22)
dark_theme_grey(base_size = 11, base_family = "",
base_line_size = base_size/22, base_rect_size = base_size/22)
dark_theme_minimal(base_size = 11, base_family = "",
base_line_size = base_size/22, base_rect_size = base_size/22)
dark_theme_light(base_size = 11, base_family = "",
base_line_size = base_size/22, base_rect_size = base_size/22)
dark_theme_dark(base_size = 11, base_family = "",
base_line_size = base_size/22, base_rect_size = base_size/22)
dark_theme_void(base_size = 11, base_family = "",
base_line_size = base_size/22, base_rect_size = base_size/22)
dark_theme_test(base_size = 11, base_family = "",
base_line_size = base_size/22, base_rect_size = base_size/22)
dark_theme_linedraw(base_size = 11, base_family = "",
base_line_size = base_size/22, base_rect_size = base_size/22)
Arguments
base_size |
base font size |
base_family |
base font family |
base_line_size |
base size for line elements |
base_rect_size |
base size for rect elements |
Details
- 'dark_theme_gray'
-
Dark version of theme_gray(), the signature 'ggplot2' theme with a grey background and white gridlines, designed to put the data forward yet make comparisons easy.
- 'dark_theme_bw'
-
Dark version of theme_bw(), the classic dark-on-light 'ggplot2' theme. May work better for presentations displayed with a projector.
- 'dark_theme_linedraw'
-
Dark version of theme_linedraw(), a theme with only black lines of various widths on white backgrounds, reminiscent of a line drawings. Serves a purpose similar to theme_bw(). Note that this theme has some very thin lines (<< 1 pt) which some journals may refuse.
- 'dark_theme_light'
-
Dark version of theme_light(), a theme similar to theme_linedraw() but with light grey lines and axes, to direct more attention towards the data.
- 'dark_theme_dark'
-
Dark verion of theme_dark(), the dark cousin of theme_light(), with similar line sizes but a dark background. Useful to make thin coloured lines pop out.
- 'dark_theme_minimal'
-
Dark version of theme_minimal(), a minimalistic theme with no background annotations.
- 'dark_theme_classic'
-
Dark version of theme_classic(), a classic-looking theme, with x and y axis lines and no gridlines.
- 'dark_theme_void'
-
Dark version of theme_void(), a completely empty theme.
- 'dark_theme_test'
-
Dark version of theme_test(), a theme for visual unit tests. It should ideally never change except for new features.
Examples
library(ggplot2)
mtcars2 <- within(mtcars, {
vs <- factor(vs, labels = c("V-shaped", "Straight"))
am <- factor(am, labels = c("Automatic", "Manual"))
cyl <- factor(cyl)
gear <- factor(gear)
})
p1 <- ggplot(mtcars2) +
geom_point(aes(x = wt, y = mpg, colour = gear)) +
labs(title = "Fuel economy declines as weight increases",
subtitle = "(1973-74)",
caption = "Data from the 1974 Motor Trend US magazine.",
tag = "Figure 1",
x = "Weight (1000 lbs)",
y = "Fuel economy (mpg)",
colour = "Gears")
p1 + dark_theme_gray()
p1 + dark_theme_bw()
p1 + dark_theme_linedraw()
p1 + dark_theme_light() # quite dark
p1 + dark_theme_dark() # quite light
p1 + dark_theme_minimal()
p1 + dark_theme_classic()
p1 + dark_theme_void()
# Theme examples with panels
p2 <- p1 + facet_grid(vs ~ am)
p2 + dark_theme_gray()
p2 + dark_theme_bw()
p2 + dark_theme_linedraw()
p2 + dark_theme_light() # quite dark
p2 + dark_theme_dark() # quite light
p2 + dark_theme_minimal()
p2 + dark_theme_classic()
p2 + dark_theme_void()
Invert color(s)
Description
Invert a vector of colors, provided the colors are valid hex codes or have valid names (i.e., they belong to base::colors()), and return a vector of inverted colors in hex code.
Usage
invert_color(color, colour = color)
invert_colour(color, colour = color)
Arguments
color |
color(s) to invert |
colour |
alias of color |
Value
Inverted color(s) in hex code
Examples
invert_color("white") # "black"
invert_color("gray20") # "gray80"
invert_color("grey80") # "grey20"
invert_color(c("#000000", "#333333")) # "#FFFFFF","#CCCCCC"
Invert geom defaults for fill and color/colour
Description
Invert geom defaults for fill and color/colour
Usage
invert_geom_defaults(geoms = get_geoms())
Arguments
geoms |
List of geoms as ggproto objects |
Examples
library(ggplot2)
p <- ggplot(iris, aes(Sepal.Width, Sepal.Length)) +
geom_point() +
facet_wrap(~ Species)
p + dark_theme_gray() # geom defaults changed
p + theme_gray() # oh no! geoms are not visible on light background
invert_geom_defaults() # geom defaults changed back
p + theme_gray() # back to normal
Invert theme elements
Description
Invert theme elements
Usage
invert_theme_elements(.theme)
Arguments
.theme |
theme to invert |
Value
Inverted theme