Raw File
jitterXY.R
jitterXY <- function(x = c(0,1), y = c(0,1),
               xscale = 1, yscale = 1) {
	xlim <- range(x, na.rm = TRUE, finite = TRUE)
	ylim <- range(y, na.rm = TRUE, finite = TRUE)
	plot.window(xlim, ylim)
	cxy <- par("cxy")
	if(missing(y))
	   x + xscale * cxy[[1]] * runif(length(x))
	else if(missing(x))
	   y + yscale * cxy[[2]] * runif(length(y))
	else
	   list(x = x + xscale * cxy[[1]] * runif(length(x)),
	        y = y + yscale * cxy[[2]] * runif(length(y)))
}

jitterX <- function(x, scale = 1)
   jitterXY(x, xscale = scale)
jitterY <- function(y, scale = 1)
   jitterXY(y = y, yscale = scale)
back to top