Learn R Programming

loon (version 1.4.1)

l_layer_contourLines: Layer Contour Lines

Description

This function is a wrapper around contourLines that adds the countourlines to a loon plot which is based on the cartesian coordinate system.

Usage

l_layer_contourLines(
  widget,
  x = seq(0, 1, length.out = nrow(z)),
  y = seq(0, 1, length.out = ncol(z)),
  z,
  nlevels = 10,
  levels = pretty(range(z, na.rm = TRUE), nlevels),
  asSingleLayer = TRUE,
  parent = "root",
  index = "end",
  ...
)

Value

layer id of group or lines layer

Arguments

widget

widget path as a string or as an object handle

x, y

As described in grDevices::contourLines: locations of grid lines at which the values in z are measured. These must be in ascending order. By default, equally spaced values from 0 to 1 are used. If x is a list, its components x$x and x$y are used for x and y, respectively. If the list has component z this is used for z.

z

As described in grDevices::contourLines: a matrix containing the values to be plotted (NAs are allowed). Note that x can be used instead of z for convenience.

nlevels

As described in grDevices::contourLines: number of contour levels desired iff levels is not supplied.

levels

As described in grDevices::contourLines: numeric vector of levels at which to draw contour lines.

asSingleLayer

if TRUE a lines layer is used for the line, otherwise if FALSE a group with nested line layers for each line is created

parent

a valid Tk parent widget path. When the parent widget is specified (i.e. not NULL) then the plot widget needs to be placed using some geometry manager like tkpack or tkplace in order to be displayed. See the examples below.

index

position among its siblings. valid values are 0, 1, 2, ..., 'end'

...

arguments forwarded to l_layer_line

Details

For more information run: l_help("learn_R_layer.html#countourlines-heatimage-rasterimage")

Examples

Run this code
if(interactive()){

p <- l_plot()
x <- 10*1:nrow(volcano)
y <- 10*1:ncol(volcano)
lcl <- l_layer_contourLines(p, x, y, volcano)
l_scaleto_world(p)

if (requireNamespace("MASS", quietly = TRUE)) {

  p1 <- with(iris, l_plot(Sepal.Length~Sepal.Width, color=Species))
  lcl <- with(iris, l_layer_contourLines(p1, MASS::kde2d(Sepal.Width,Sepal.Length)))

  p2 <- with(iris, l_plot(Sepal.Length~Sepal.Width, color=Species))
  layers <- sapply(split(cbind(iris, color=p2['color']), iris$Species), function(dat) {
       kest <- with(dat, MASS::kde2d(Sepal.Width,Sepal.Length))
       l_layer_contourLines(p2, kest, color=as.character(dat$color[1]), linewidth=2,
            label=paste0(as.character(dat$Species[1]), " contours"))
  })
}

}

Run the code above in your browser using DataLab