viridisLite (version 0.1.3)

viridis: Matplotlib 'viridis' color map


This function creates a vector of n equally spaced colors along the Matplolib 'viridis' color map created by Stéfan van der Walt and 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.


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)


The number of colors ($\ge 1$) to be in the palette.
The alpha transparency, a number in [0,1], see argument alpha in hsv.
The (corrected) hue in [0,1] at which the viridis colormap begins.
The (corrected) hue in [0,1] at which the viridis colormap ends.
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).


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.


Here are the color scales:

viridis-scales.pngoptions: style="width:750px;max-width:90%;"

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.


Run this code

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
  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 DataCamp Workspace