Computes and draws density contour lines.
ternary_density(x, y, z, ...) # S4 method for numeric,numeric,numeric ternary_density( x, y, z, h = NULL, n = 25, nlevels = 10, levels = NULL, palette = function(i) grDevices::hcl.colors(i, "YlOrRd", rev = TRUE), ... ) # S4 method for ANY,missing,missing ternary_density( x, h = NULL, n = 25, nlevels = 10, levels = NULL, palette = function(i) grDevices::hcl.colors(i, "YlOrRd", rev = TRUE), ... )
- x, y, z
Further arguments to be passed to
numericvector giving the bandwidth.
numericspecifying the number of grid points.
numericvector specifying the number of contour levels desired. Only used if
numericvector of levels at which to draw contour lines.
A color palette
functionthat takes a single integer argument (the number of levels) and returns a vector of colors.
ternary_density() is called it for its side-effects.
Invisibly returns a
list with elements
levels (the contour levels) and
colors (the contour colors) that can be used for a legend.
Two-dimensional kernel density estimation with an axis-aligned bivariate normal kernel. Normal kernel is evaluated on a square grid, after an isometric log ratio transformation of the original data.
Two-dimensional kernel density estimation is adapted from
This must be considered as experimental and subject to major changes in a future release.
## Add density ## Data from Aitchison 1986 ternary_plot(lava, panel.first = ternary_grid()) levels <- ternary_density(lava, n = 500, nlevels = 10) ## Add a legend legend_image <- grDevices::as.raster(rev(levels$colors)) graphics::rasterImage(legend_image, 0.85, 0.75, 0.9, 1) graphics::text(x = 0.9, y = c(0.75, 1), labels = range(levels$levels), pos = 4)