R: Plotting of dynamic time warp results

dtwPlot {dtw} | R Documentation

## Plotting of dynamic time warp results

### Description

Methods for plotting dynamic time warp alignment objects returned by `dtw`.

### Usage

    ## S3 method for class 'dtw'
    plot(x, type="alignment", ...)

    # an alias for dtw.plot
    dtwPlot(x, type="alignment", ...)

    dtwPlotAlignment(d, xlab="Query index", ylab="Reference index",
                        plot.type="l", ...)
    dtwPlotDensity(d, normalize=FALSE,
    		  xlab="Query index", ylab="Reference index",
                      ...)

### Arguments

`x,d` | `dtw` object, usually result of call to `dtw`
`xlab` | label for the query axis
`ylab` | label for the reference axis
`type` | general style for the alignment plot
`plot.type` | type of line to be drawn, used as the `type` argument in the underlying `plot` call
`normalize` | show per-step average cost instead of cumulative cost
`...` | additional arguments, passed to plotting functions

### Details

`dtwPlot` displays alignment contained in `dtw` objects.

Various plotting styles are available, passing strings to the `type` argument (may be abbreviated):

- `alignment`plots the warping curve in `d`

- `twoway`plots a point-by-point comparison, with matching lines

- `threeway`vis-a-vis inspection of the timeseries and their warping curve

- `density`displays the cumulative cost landscape with the warping path overimposed

For two-way plotting, see documentation for function `dtwPlotTwoWay`.

For three-way plotting, see documentation for function `dtwPlotThreeWay`.

If `normalize` is `TRUE`, the average cost per step is plotted instead of the cumulative one. Step averaging depends on the `stepPattern` used.

Additional parameters are carried on to the plotting functions: use with care.

### Warning

These functions are incompatible with mechanisms for arranging plots on a device: `par(mfrow)`, `layout` and `split.screen`.

### Note

The density plot is more colorful than useful.

### Author(s)

Toni Giorgino

### See Also

`dtwPlotTwoWay` for details on two-way plotting function. `dtwPlotThreeWay` for details on three-way plotting function.

### Examples

    ## Same example as in dtw

    idx<-seq(0,6.28,len=100);
    query<-sin(idx)+runif(100)/10;
    reference<-cos(idx)

    alignment<-dtw(query,reference,keep=TRUE);

    ## A profile of the cumulative distance matrix
    ## Contour plot of the global cost

    dtwPlotDensity(alignment,
      main="Sine/cosine: symmetric  alignment, no constraints")

    ######
    ##
    ## A study of the "Itakura" parallelogram
    ##
    ## A widely held misconception is that the "Itakura parallelogram" (as
    ## described in the original article) is a global constraint.  Instead,
    ## it arises from local slope restrictions. Anyway, an "itakuraWindow",
    ## is provided in this package. A comparison between the two follows.

    ## The local constraint: three sides of the parallelogram are seen

    dtw(query,reference,keep=TRUE,step=typeIIIc)->ita;
    dtwPlot(ita,type="density",
            main="Slope-limited asymmetric step (Itakura)")

    ## Symmetric step with global parallelogram-shaped constraint. Note how
    ## long (>2 steps) horizontal stretches are allowed within the window.

    dtw(query,reference,keep=TRUE,window=itakuraWindow)->ita;
    dtwPlot(ita,type="density",
            main="Symmetric step with Itakura parallelogram window")

[Package dtw version 1.18-1 Index]