Last data update: 2014.03.03

R: Viridis color scales
scale_color_viridisR Documentation

Viridis color scales

Description

Uses the viridis color scale.

Usage

scale_color_viridis(..., alpha = 1, begin = 0, end = 1,
  discrete = FALSE, option = "D", direction = 1)

scale_fill_viridis(..., alpha = 1, begin = 0, end = 1, discrete = FALSE,
  option = "D", direction = 1)

Arguments

...

parameters to discrete_scale or scale_fill_gradientn

alpha

pass through parameter to viridis

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.

discrete

generate a discrete palette? (default: FALSE - generate continuous palette)

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).

direction

Sets the order of colors in the scale. If 1, the default, colors are as output by viridis_pal. If -1, the order of colors is reversed.

Details

For discrete == FALSE (the default) all other arguments are as to scale_fill_gradientn or scale_color_gradientn. Otherwise the function will return a discrete_scale with the plot-computed number of colors.

See viridis for more information on the color scale.

Author(s)

Noam Ross noam.ross@gmail.com / @noamross (continuous version), Bob Rudis bob@rudis.net / @hrbrmstr (combined version)

Examples

library(ggplot2)

# ripped from the pages of ggplot2
p <- ggplot(mtcars, aes(wt, mpg))
p + geom_point(size=4, aes(colour = factor(cyl))) +
    scale_color_viridis(discrete=TRUE) +
    theme_bw()

# ripped from the pages of ggplot2
dsub <- subset(diamonds, x > 5 & x < 6 & y > 5 & y < 6)
dsub$diff <- with(dsub, sqrt(abs(x-y))* sign(x-y))
d <- ggplot(dsub, aes(x, y, colour=diff)) + geom_point()
d + scale_color_viridis() + theme_bw()


# from the main viridis example
dat <- data.frame(x = rnorm(10000), y = rnorm(10000))

ggplot(dat, aes(x = x, y = y)) +
  geom_hex() + coord_fixed() +
  scale_fill_viridis() + theme_bw()

library(ggplot2)
library(MASS)
library(gridExtra)

data("geyser", package="MASS")

ggplot(geyser, aes(x = duration, y = waiting)) +
  xlim(0.5, 6) + ylim(40, 110) +
  stat_density2d(aes(fill = ..level..), geom="polygon") +
  theme_bw() +
  theme(panel.grid=element_blank()) -> gg

grid.arrange(
  gg + scale_fill_viridis(option="A") + labs(x="Virdis A", y=NULL),
  gg + scale_fill_viridis(option="B") + labs(x="Virdis B", y=NULL),
  gg + scale_fill_viridis(option="C") + labs(x="Virdis C", y=NULL),
  gg + scale_fill_viridis(option="D") + labs(x="Virdis D", y=NULL),
  ncol=2, nrow=2
)

Results