ks (version 1.5.3)

plot.kde: Kernel density estimate plot for 1- to 3-dimensional data

Description

Kernel density estimate plot for 1- to 3-dimensional data.

Usage

## univariate
## S3 method for class 'kde':
plot(x, xlab, ylab="Density function", add=FALSE,
  drawpoints=FALSE, ptcol="blue", col="black", jitter=TRUE, ...)

## bivariate ## S3 method for class 'kde': plot(x, display="slice", cont=c(25,50,75), abs.cont, xlab, ylab, zlab="Density function", add=FALSE, drawpoints=FALSE, drawlabels=TRUE, theta=-30, phi=40, d=4, ptcol="blue", col="black", ...)

## trivariate ## S3 method for class 'kde': plot(x, cont=c(25,50,75), abs.cont, colors,add=FALSE, drawpoints=FALSE, alphavec, xlab, ylab, zlab, size=3, ptcol="blue", ...)

Arguments

x
an object of class kde (output from kde function)
display
type of display, "slice" for contour plot, "persp" for perspective plot, "image" for image plot, "filled" for filled contyour plot (2-d plot)
cont
vector of percentages for contour level curves
abs.cont
vector of absolute density estimate heights for contour level curves
ptcol
plotting colour for data points
col
plotting colour for density estimate (1-d, 2-d plot)
colors
vector of colours for each contour (3-d plot)
jitter
if TRUE then jitter rug plot (1-d plot)
xlab,ylab,zlab
axes labels
add
if TRUE then add to current plot
theta,phi,d
graphics parameters for perspective plots (2-d plot)
drawpoints
if TRUE then draw data points on density estimate
drawlabels
if TRUE then draw contour labels (2-d plot)
alphavec
vector of transparency values (3-d plot)
size
size of plotting symbol (3-d plot)
...
other graphics parameters

Value

  • Plot of 1-d and 2-d kernel density estimates are sent to graphics window. Plot for 3-d is generated by the misc3d and rgl libraries and is sent to RGL window.

synopsis

## S3 method for class 'kde': plot(x, drawpoints=FALSE, ...)

Details

-- The 1-d plot is a standard plot of a 1-d curve. If drawpoints=TRUE then a rug plot is added. -- There are three types of plotting displays for 2-d data available, controlled by the display parameter.

If display="slice" then a slice/contour plot is generated using contour. The default contours are at 25%, 50%, 75% or cont=c(25,50,75) which are upper percentages of highest density regions. See below for alternative contour levels. If display="persp" then a perspective/wire-frame plot is generated. The default z-axis limits zlim are the default from the usual persp command. If display="image" then an image plot is generated. Default colours are the default from the usual image command.

-- For 3-dimensional data, the interactive plot is a series of nested 3-d contours. The default contours are cont=c(25,50,75). See below for alternative contour levels. The default colors are heat.colors and the default opacity alphavec ranges from 0.1 to 0.5.

-- To specifiy contours, either one of cont or abs.cont is required. cont specifies upper percentages which correspond to highest density regions. If abs.cont=NULL then a pretty set of contours is drawn. If abs.cont is set to particular values, then contours at these levels are drawn. This third option is useful for plotting multiple density estimates with common contour levels. See contourLevels for details on computing contour levels for kde objects.

References

Bowman, A.W. & Azzalini, A. (1997) Applied Smoothing Techniques for Data Analysis. Clarendon Press. Oxford. Simonoff, J. S., (1996) Smoothing Methods in Statistics. Springer-Verlag. New York.

See Also

kde

Examples

Run this code
## univariate example
x <- rnorm.mixt(n=100, mus=1, sigmas=1, props=1)
fhat <- kde(x, h=sqrt(0.09))  
plot(fhat)


## bivariate example
data(unicef)
H.scv <- Hscv(unicef)
fhat <- kde(unicef, H=H.scv)

plot(fhat)
plot(fhat, drawpoints=TRUE, drawlabels=FALSE, col=3, lwd=2)
plot(fhat, display="persp")
plot(fhat, display="image", col=rev(heat.colors(100)))
plot(fhat, display="filled")

## pair of densities with same absolute contour levels
x <- rmvnorm.mixt(n=100, mus=c(0,0), Sigmas=diag(2), props=1)
Hx <- Hpi(x)
fhatx <- kde(x=x, H=Hx) 
y <- rmvnorm.mixt(n=100, mus=c(0.5,0.5), Sigmas=0.5*diag(2), props=1)
Hy <- Hpi(y)
fhaty <- kde(x=y, H=Hy)
lev <- contourLevels(fhatx, prob=c(0.25, 0.5, 0.75))
plot(fhatx, abs.cont=lev)
plot(fhaty, abs.cont=lev, col=3, add=TRUE) 

## large sample - 10000 sample from bivariate standard normal 
x <- rmvnorm.mixt(10000, c(0,0), diag(2))    
H.pi <- Hpi.diag(x, binned=TRUE)
fhat <- kde(x, H=H.pi, binned=TRUE) 
plot(fhat, drawpoints=FALSE, cont=seq(10,90, by=20))


## trivariate example
mus <- rbind(c(0,0,0), c(-1,1,1))
Sigma <- matrix(c(1, 0.7, 0.7, 0.7, 1, 0.7, 0.7, 0.7, 1), nr=3, nc=3) 
Sigmas <- rbind(Sigma, Sigma)
props <- c(1/2, 1/2)

x <- rmvnorm.mixt(n=1000, mus=mus, Sigmas=Sigmas, props=props)
H.pi <- Hpi(x, pilot="samse")
fhat <- kde(x, H=H.pi)  
plot(fhat)

Run the code above in your browser using DataLab