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 x and y arguments provide the x and y
coordinates for the plot. 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. |
nrpoints |
number of points to be superimposed on the density
image. The first nrpoints points from those areas of lowest
regional densities will be plotted. Adding points to the plot
allows for the identification of outliers. If all points are to be
plotted, choose nrpoints = Inf . |
pch, cex, col |
arguments passed to points ,
when nrpoints > 0 : point symbol, character expansion factor
and color, see also par . |
transformation |
function mapping the density scale to the color scale. |
postPlotHook |
either NULL or a function which will be
called (with no arguments) after image . |
xlab, ylab |
character strings to be used as axis labels, passed
to image . |
xlim, ylim |
numeric vectors of length 2 specifying axis limits. |
xaxs, yaxs, ... |
further arguments, passed to image . |
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.
## 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(...) {par(new=TRUE);smoothScatter(..., nrpoints=0)}) par(oldpar)