This is helpful in e.g. developing a color scale for an image plot. It is
not necessary that rlow
be less than rhigh
, and in fact
reversing them is a good way to get a reversed color scale for a plot.
rescale(x, xlow, xhigh, rlow = 0, rhigh = 1, clip = TRUE)
x  a numeric vector. 

xlow 

xhigh 

rlow  value of the result corresponding to 
rhigh  value of the result corresponding to 
clip  logical, set to 
A new vector, which has minimum lim[1]
and maximum lim[2]
.
library(oce) # Fake towyow data t < seq(0, 600, 5) x < 0.5 * t z < 50 * (1 + sin(2 * pi * t / 360)) T < 5 + 10 * exp(z / 100) palette < oce.colorsJet(100) zlim < range(T) drawPalette(zlim=zlim, col=palette) plot(x, z, type='p', pch=20, cex=3, col=palette[rescale(T, xlow=zlim[1], xhigh=zlim[2], rlow=1, rhigh=100)])