Learn R Programming

viridis (version 0.3.3)

viridis: Matplotlib 'viridis' color map

Description

This function creates a vector of n equally spaced colors along the Matplolib 'viridis' color map created by https://github.com/stefanv{Stéfan van der Walt} and https://github.com/njsmith{Nathaniel Smith}. This color map is designed in such a way that it will analytically be perfectly perceptually-uniform, both in regular form and also when converted to black-and-white. It is also designed to be perceived by readers with the most common form of color blindness.

Usage

viridis(n, alpha = 1, begin = 0, end = 1, option = "D")

viridisMap(n = 256, alpha = 1, begin = 0, end = 1, option = "D")

magma(n, alpha = 1, begin = 0, end = 1)

inferno(n, alpha = 1, begin = 0, end = 1)

plasma(n, alpha = 1, begin = 0, end = 1)

Arguments

n
The number of colors ($\ge 1$) to be in the palette.
alpha
The alpha transparency, a number in [0,1], see argument alpha in hsv.
begin
The (corrected) hue in [0,1] at which the viridis colormap begins.
end
The (corrected) hue in [0,1] at which the viridis colormap ends.
option
A character string indicating the colormap option to use. Four options are available: "magma" (or "A"), "inferno" (or "B"), "plasma" (or "C"), and "viridis" (or "D", the default option).

Value

  • viridis returns a character vector, cv, of color hex codes. This can be used either to create a user-defined color palette for subsequent graphics by palette(cv), a col = specification in graphics functions or in par.

    viridisMap returns a n lines data frame containing the red (R), green (G), blue (B) and alpha (alpha) channels of n equally spaced colors along the 'viridis' color map. n = 256 by default, which corresponds to the data from the original 'viridis' color map in Matplotlib.

Details

html{Here are the color scales:

viridis-scales.png
{options: style="width:750px;max-width:90%;"}

} latex{Here are the color scales:

center

viridis-scales.png
center }

magma(), plasma(), and inferno() are convenience functions for the other colormap options, which are useful the scale must be passed as a function name.

Semi-transparent colors ($0 < alpha < 1$) are supported only on some devices: see rgb.

Examples

Run this code
library(ggplot2)
library(hexbin)

dat <- data.frame(x = rnorm(10000), y = rnorm(10000))

ggplot(dat, aes(x = x, y = y)) +
  geom_hex() + coord_fixed() +
  scale_fill_gradientn(colours = viridis(256, option = "D"))

# using code from RColorBrewer to demo the palette
n = 200
image(
  1:n, 1, as.matrix(1:n),
  col = viridis(n, option = "D"),
  xlab = "viridis n", ylab = "", xaxt = "n", yaxt = "n", bty = "n"
)

Run the code above in your browser using DataLab