hsv {grDevices} R Documentation

HSV Color Specification

Description

Create a vector of colors from vectors specifying hue, saturation and value.

Usage

hsv(h = 1, s = 1, v = 1, gamma = 1, alpha)

Arguments

 h,s,v numeric vectors of values in the range [0,1] for “hue”, “saturation” and “value” to be combined to form a vector of colors. Values in shorter arguments are recycled. gamma a “gamma correction” exponent, gamma alpha numeric vector of values in the range [0,1] for alpha transparency channel (0 means transparent and 1 means opaque).

Details

Semi-transparent colors (0 < alpha < 1) are supported only on a few devices: at the time of writing only on the pdf and (on MacOS X) quartz devices.

Value

This function creates a vector of “colors” corresponding to the given values in HSV space. The values returned by hsv can be used with a col= specification in graphics functions or in par.

Gamma correction

For each color, (r,g,b) in RGB space (with all values in [0,1]), the final color corresponds to (r^{gamma}, g^{gamma}, b^{gamma}).

hcl for a perceptually based version of hsv(), rgb and rgb2hsv for RGB to HSV conversion; rainbow, gray.

Examples

hsv(.5,.5,.5)

## Look at gamma effect:
n <- 20;  y <- -sin(3*pi*((1:n)-1/2)/n)
op <- par(mfrow=c(3,2),mar=rep(1.5,4))
for(gamma in c(.4, .6, .8, 1, 1.2, 1.5))
plot(y, axes = FALSE, frame.plot = TRUE,
xlab = "", ylab = "", pch = 21, cex = 30,
bg = rainbow(n, start=.85, end=.1, gamma = gamma),
main = paste("Red tones;  gamma=",format(gamma)))
par(op)

[Package grDevices version 2.5.0 Index]