smoothScatter {graphics}  R Documentation 
smoothScatter
produces a smoothed color density
representation of the scatterplot, obtained through a kernel
density estimate. densCols
produces a vector containing
colors which encode the local densities at each point in a
scatterplot.
smoothScatter(x, y = NULL, nbin = 128, bandwidth, colramp = colorRampPalette(c("white", blues9)), nrpoints = 100, pch = ".", cex = 1, col = "black", transformation = function(x) x^.25, postPlotHook = box, xlab = NULL, ylab = NULL, xlim, ylim, xaxs = par("xaxs"), yaxs = par("yaxs"), ...)
x, y 
the 
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

bandwidth 
numeric vector (length 1 or 2) of smoothing bandwidth(s).
If missing, a more or less useful default is used. 
colramp 
function accepting an integer 
nrpoints 
number of points to be superimposed on the density
image. The first 
pch, cex, col 
arguments passed to 
transformation 
function mapping the density scale to the color scale. 
postPlotHook 
either 
xlab, ylab 
character strings to be used as axis labels, passed
to 
xlim, ylim 
numeric vectors of length 2 specifying axis limits. 
xaxs, yaxs, ... 
further arguments, passed to 
smoothScatter
produces a smoothed version of a scatter plot.
Two dimensional (kernel density) smoothing is performed by
bkde2D
from package KernSmooth.
See the examples for how to use this function together with
pairs
.
Florian Hahne at FHCRC, originally
bkde2D
from package KernSmooth;
densCols
which uses the same smoothing computations and
blues9
in package grDevices.
scatter.smooth
adds a loess
regression smoother to a scatter plot.
## A largish data set n < 10000 x1 < matrix(rnorm(n), ncol = 2) x2 < matrix(rnorm(n, mean = 3, sd = 1.5), ncol = 2) x < rbind(x1, x2) oldpar < par(mfrow = c(2, 2)) smoothScatter(x, nrpoints = 0) smoothScatter(x) ## a different color scheme: Lab.palette < colorRampPalette(c("blue", "orange", "red"), space = "Lab") smoothScatter(x, colramp = Lab.palette) ## somewhat similar, using identical smoothing computations, ## but considerably *less* efficient for really large data: plot(x, col = densCols(x), pch = 20) ## use with pairs: par(mfrow = c(1, 1)) y < matrix(rnorm(40000), ncol = 4) + 3*rnorm(10000) y[, c(2,4)] < y[, c(2,4)] pairs(y, panel = function(...) smoothScatter(..., nrpoints = 0, add = TRUE)) par(oldpar)