R: Rescale values to lie in a given range

rescale {oce} | R Documentation

## Rescale values to lie in a given range

### Description

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.

### Usage

    rescale(x, xlow, xhigh, rlow = 0, rhigh = 1, clip = TRUE)

### Arguments

`x` | a numeric vector.
`xlow` | `x` value to correspond to `rlow`. If not given, it will be calculated as the minimum value of `x`
`xhigh` | `x` value to correspond to `rhigh`. If not given, it will be calculated as the maximum value of `x`
`rlow` | value of the result corresponding to `x` equal to `xlow`.
`rhigh` | value of the result corresponding to `x` equal to `xhigh`.
`clip` | logical, set to `TRUE` to clip the result to the range spanned by `rlow` and `rhigh`.

### Value

A new vector, which has minimum `lim[1]` and maximum `lim[2]`.

### Author(s)

Dan Kelley

### Examples

    library(oce)
    # Fake tow-yow 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)])

[Package oce version 1.1-1 Index]