| dtwPlot {dtw} | R Documentation |
Methods for plotting dynamic time warp alignment objects returned
by dtw.
## S3 method for class 'dtw':
plot(x, type="alignment", ...)
# an alias for dtw.plot
dtwPlot(x, type="alignment", ...)
dtwPlotAlignment(d, xlab="Query index", ylab="Template index", ...)
dtwPlotDensity(d, normalize="no",
xlab="Query index", ylab="Template index",
...)
x,d |
dtw object, usually result of call to dtw |
xlab |
label for the query axis |
ylab |
label for the template axis |
type |
alignment plot style |
normalize |
show per-step average cost instead of cumulative cost |
... |
additional arguments, passed to plotting functions |
dtwPlot displays alignment contained in dtw objects.
Various plotting styles are available, passing strings to the
type argument (may be abbreviated):
alignmentasymmetric-like step pattern is used)twowaythreewaydensity
For two-way plotting, see documentation for function
dtwPlotTwoWay.
For three-way plotting, see documentation for function
dtwPlotThreeWay.
normalize can be one of "N" of "N+M". If set,
average cost per step is plotted instead of the cumulative
one. Step averaging depends on the step pattern chosen. N is
suitable for asymmetric patterns and divides the distance by the index
in query; N+M is for (normalizable) symmetric patterns, and
divides by the Manhattan distance from the origin.
Additional parameters are carried on to the plotting functions: use with care.
These functions are incompatible with mechanisms for
arranging plots on a device: par(mfrow), layout and
split.screen.
The density plot is more colorful than useful.
Toni Giorgino
dtwPlotTwoWay for details on two-way plotting function.
dtwPlotThreeWay for details on three-way plotting function.
## Same example as in dtw
idx<-seq(0,6.28,len=100);
query<-sin(idx)+runif(100)/10;
template<-cos(idx)
alignment<-dtw(query,template,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,template,keep=TRUE,step=asymmetricItakura)->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,template,keep=TRUE,window=itakuraWindow)->ita;
dtwPlot(ita,type="density",
main="Symmetric step with Itakura parallelogram window")