xyplot {flowViz} | R Documentation

## Method implementing Lattice xyplots for flow data

### Description

These functions create Trellis scatter plots (a.k.a. dot plots in the Flow Cytometry community) from flow cytometry data.

### Usage

    ## methods for 'flowSet' objects
    ## S4 method for signature 'formula, flowSet':
    xyplot(
        x,
        data,
        xlab,
        ylab,
        as.table=TRUE,
        prepanel=prepanel.xyplot.flowset,
        panel=panel.xyplot.flowset,
        pch = ".",
        smooth = TRUE,
        filter = NULL,
        ...)

    ## methods for 'flowFrame' objects
    ## S4 method for signature 'flowFrame, missing':
    xyplot(
        x,
        data,
        xlab=time,
        ylab="",
        time="Time",
        layout,
        type="l",
        smooth=FALSE,
        ...)

    ## S4 method for signature 'formula, flowFrame':
    xyplot(
        x,
        data,
        smooth=TRUE,
        panel=if(smooth) panel.smoothScatter else panel.xyplot,
        ...)

    ## S4 method for signature 'flowFrame, missing':
    splom(
        x,
        data,
        pscales=0,
        smooth=TRUE,
        pch=".",
        time="Time",
        exclude.time=TRUE,
        panel=function(x, y, smooth, ...) {
             if (smooth) panel.smoothScatter(x, y, ...)
             else panel.xyplot(x, y, ...)
          },
        ...)

    ## panel and prepanel functions for flowSets
    prepanel.xyplot.flowframe.time(
        x,
        y,
        time.x,
        expr,
        ...)

    panel.xyplot.flowframe.time(
        x,
        y,
        time.x,
        expr,
        type="l",
        nrpoints=0,
        binSize=100,
        ...)

    panel.xyplot.flowframe(
        x,
        y,
        frame,
        filter=NULL,
        smooth=TRUE,
        channel.x.name,
        channel.y.name,
        pch=".",
        gpar,
        ...)

    ## panel and prepanel functions for flowSets
    prepanel.xyplot.flowset(
        x,
        frames,
        channel.x,
        channel.y,
        ...)

    panel.xyplot.flowset(
        x,
        frames,
        channel.x,
        channel.y,
        channel.x.name,
        channel.y.name,
        filter=NULL,
        pch=".",
        smooth=TRUE,
        gpar,
        ...)

### Arguments

`x` | a formula describing the structure of the plot and the variables to be used in the display. In `prepanel.xyplot.flowset` and `panel.xyplot.flowset`, also the names of `flowFrame`s.
`data, y` | a `flowSet` or `flowFrame` object that serves as the source of data.
`smooth` | logical. If `TRUE`, `panel.smoothScatter` is used to display a partially smoothed version of the data. Otherwise, points are plotted as in a standard scatter plot.
`nrpoints` |
`xlab, ylab` | Labels for data axes, with suitable defaults taken from the formula.
`pch` | the plotting character used when `smooth=FALSE`.
`type` | type of rendering; see `panel.xyplot` for details. For the basic `flowFrame` method without a detailed formula, the addtional type `discrete` is available, which plots a smoothed average of the flow cytometry values against time.
`binSize` |
`prepanel` | the prepanel function. See `xyplot`.
`panel` | the panel function. See `xyplot`.
`filter` | a `filter` or `filterResult` object or a list of such objects of the same length as the `flowSet` to be superimposed on the plot. The software will figure out whether the `filter` needs to be evaluated (in which case providing a `filterResult` can speed up things considerably).
`time` | a character string giving the name of the column recording time. If not provided, we try to guess from the parameter names.
`time.x` | a numeric vector of time values.
`expr` | a numeric matrix of flow cytometry values, basically a copy of the `exprs` slot of a `flowFrame`.
`exclude.time` | logical, specifying whether to exclude the time variable from a scatter plot matrix. Defaults to `TRUE`.
`as.table, pscales, layout` | These arguments are passed unchanged to the corresponding methods in lattice, and are listed here only because they provide different defaults. See documentation for the original methods for details.
`channel.x, channel.y` | expressions defining the x and y variables in terms of columns in the data. Can involve functions or multiple columns from the data.
`channel.x.name, channel.y.name` | character strings giving corresponding names, used to match filter parameters if applicable.
`frame, frames` | an environment containing frame-specific data.
`gpar` | an list of graphical parameters that are passed down to the low level grid functions. See `gpar` for details.
`...` | more arguments, usually passed on to the underlying lattice methods.

### Methods

xyplot
  `signature(x = "formula", data = "flowSet")`: creates scatter plots (a.k.a. dot plots) of a pair of channels
xyplot
  `signature(x = "flowFrame", data = "missing")`: produces diagnostic time series plots of all channels against time.
xyplot
  `signature(x = "formula", data = "flowFrame")`: more general scatter plots from a `flowFrame` object. The formula can be fairly general.
splom
  `signature(x = "flowFrame", data = "missing")`: draws a scatter plot matrix of all channels (excluding time, by default) of a `flowFrame` object.

### See Also

Not all standard lattice arguments will have the intended effect, but many should. For a fuller description of possible arguments and their effects, consult documentation on lattice.

### Examples

    data(GvHD)

    ## simple bivariate scatter plot (a.k.a. dot plot)
    ## by default ('smooth=TRUE') panel.smoothScatter is used
    xyplot(`SSC-H` ~ `FSC-H` | Patient:Visit, data = GvHD,
           layout = c(7, 5))

    xyplot(`SSC-H` ~ `FSC-H` | Patient:Visit,
           data = transform("SSC-H"=asinh,"FSC-H"=asinh) %on% GvHD,
           layout = c(7, 5))

    ## version without smooth
    xyplot(`SSC-H` ~ `FSC-H` | Visit + Patient, data = GvHD,
           smooth = FALSE, strip = strip.custom(strip.names = TRUE))

    ## several examples with time on the X axis
    xyplot(`FSC-H` ~ Time | Visit, GvHD,
           smooth = FALSE, type = "l",
           subset = (Patient == 5))

    xyplot(`FSC-H` ~ Time | Patient:Visit, GvHD,
           smooth = FALSE, type = "a",
           strip = FALSE, strip.left = TRUE,
           aspect = "xy")

    ## combine plots for two channels
    ssc.time <-

        xyplot(`SSC-H` ~ Time | factor(Patient):factor(Visit), GvHD,
               smooth = FALSE, type = "l",
               strip = FALSE,
               strip.left = strip.custom(horizontal = TRUE),
               par.strip.text = list(lines = 3),
               between = list(y = rep(c(0, 0.5), c(6, 1))),
               scales = list(x = list(axs = "i"), y = list(draw = FALSE)),
               layout = c(1, 35))

    fsc.time <-
        xyplot(`FSC-H` ~ Time | factor(Patient):factor(Visit), GvHD,
               smooth = FALSE, type = "l",
               strip = FALSE,
               strip.left = strip.custom(horizontal = TRUE),
               par.strip.text = list(lines = 3),
               between = list(y = rep(c(0, 0.5), c(6, 1))),
               scales = list(x = list(axs = "i"), y = list(draw = FALSE)),
               layout = c(1, 35))

    plot(fsc.time, split = c(1, 1, 2, 1))
    plot(ssc.time, split = c(2, 1, 2, 1), newpage = FALSE)

    ## saving plots as variables allows more manipulation
    plot(update(fsc.time[29:35], layout = c(1, 7)),
         split = c(1, 1, 1, 2))

    plot(update(ssc.time[29:35], layout = c(1, 7)),
         split = c(1, 2, 1, 2), newpage = FALSE)

    ## scatter plot matrix of individual flowFrames
    splom(GvHD[["s10a07"]], smooth = FALSE)

    splom(GvHD[["s10a07"]], smooth = FALSE,
          prepanel.limits = function(x) quantile(as.numeric(x), c(0.0, 0.99)))

    ## time plot of individual flowFrames
    xyplot(GvHD[["s5a07"]], time = "Time")

    xyplot(`FSC-H` + `SSC-H` + `FL1-H` ~ Time, GvHD[["s5a07"]],
           aspect = "xy", outer = TRUE,
           scales = list(y = "free"),
           type = "l", smooth = FALSE)

    ## a bivariate scatterplot
    xyplot(`FSC-H` ~ `SSC-H`, GvHD[["s5a01"]], nbin = 100)

    ## displaying filters
    n2gate <- norm2Filter("SSC-H", "FSC-H")

    xyplot(`SSC-H` ~ `FSC-H` | Patient:Visit, data = GvHD,
           filter=n2gate, layout=c(7, 5))

    xyplot(`SSC-H` ~ `FSC-H` | Patient:Visit,
           data=transform("SSC-H"=asinh,"FSC-H"=asinh) %on% GvHD,
           smooth=FALSE, filter=n2gate, layout=c(7, 5))

    xyplot(`SSC-H` ~ `FSC-H` | Patient:Visit,
           data = transform("SSC-H"=asinh,"FSC-H"=asinh) %on% GvHD,
           subset = Patient == "6",
           filter = rectangleGate("FSC-H"=c(5.5, 7),"SSC-H"=c(4, 6.5)))

    n2gate.results <- filter(GvHD, n2gate)

    xyplot(`SSC-H` ~ `FSC-H` | Visit, data=GvHD,
           subset=Patient == "6",
           filter=n2gate.results, smooth=FALSE)

    xyplot(`SSC-H` ~ `FSC-H` | Visit,
           data = GvHD,
           subset = Patient == "6",
           smooth = FALSE,
           filter = n2gate,
           filterResults = n2gate.results,
           displayFilter = list(lwd = 0.5))

[Package flowViz version 1.4.1 Index]