Learn R Programming

dtw (version 1.15)

dtwPlot: 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

emph

average

Warning

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

concept

  • Dynamic Time Warp
  • Warping function

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}

See Also

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

Examples

Run this code
## 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")

Run the code above in your browser using DataLab