R: Colors for Smooth Density Plots

densCols {grDevices} | R Documentation

## Colors for Smooth Density Plots

### Description

`densCols` produces a vector containing colors which encode the local densities at each point in a scatterplot.

### Usage

    densCols(x, y = NULL, nbin = 128, bandwidth,
             colramp = colorRampPalette(blues9[-(1:3)]))
    blues9

### Arguments

`x, y` | the `x` and `y` arguments provide the x and y coordinates of the points. Any reasonable way of defining the coordinates is acceptable. See the function `xy.coords` for details. If supplied separately, they must be of the same length.
`nbin` | numeric vector of length one (for both directions) or two (for x and y separately) specifying the number of equally spaced grid points for the density estimation; directly used as `gridsize` in `bkde2D()`.
`bandwidth` | numeric vector (length 1 or 2) of smoothing bandwidth(s). If missing, a more or less useful default is used. `bandwidth` is subsequently passed to function `bkde2D`.
`colramp` | function accepting an integer `n` as an argument and returning `n` colors.

### Details

`densCols` computes and returns the set of colors that will be used in plotting, calling `bkde2D(*, bandwidth, gridsize = nbin, ..)` from package KernSmooth.

`blues9` is a set of 9 color shades of blue used as the default in plotting.

### Value

`densCols` returns a vector of length `nrow(x)` that contains colors to be used in a subsequent scatterplot. Each color represents the local density around the corresponding point.

### Author(s)

Florian Hahne at FHCRC, originally

### See Also

`bkde2D` from package KernSmooth; further, `smoothScatter()` (package graphics) which builds on the same computations as `densCols`.

### Examples

    x1  <- matrix(rnorm(1e3), ncol = 2)
    x2  <- matrix(rnorm(1e3, mean = 3, sd = 1.5), ncol = 2)
    x   <- rbind(x1, x2)

    dcols <- densCols(x)
    graphics::plot(x, col = dcols, pch = 20, main = "n = 1000")

[Package grDevices version 4.0.5 Index]