Plots two sequences, their distance or cost matrix, their least cost path, and all relevant values used to compute dissimilarity.
Unlike distantia()
, this function does not accept vectors as inputs for the arguments to compute dissimilarity (distance
, diagonal
, and weighted
), and only plots a pair of sequences at once.
The argument lock_step
is not available because this plot does not make sense in such a case.
Usage
distantia_plot(
tsl = NULL,
distance = "euclidean",
diagonal = TRUE,
weighted = TRUE,
ignore_blocks = FALSE,
matrix_type = "cost",
matrix_color = NULL,
path_width = 1,
path_color = "black",
line_color = NULL,
line_width = 1,
text_cex = 1
)
Arguments
- tsl
(required, time series list) list of zoo time series. Default: NULL
- distance
(optional, character vector) name or abbreviation of the distance method. Valid values are in the columns "names" and "abbreviation" of the dataset distances. Default: "euclidean".
- diagonal
(optional, logical vector). If TRUE, diagonals are included in the dynamic time warping computation. Default: TRUE
- weighted
(optional, logical vector) If TRUE, diagonal is set to TRUE, and diagonal cost is weighted by a factor of 1.414214. Default: TRUE
- ignore_blocks
(optional, logical vector). If TRUE, blocks of consecutive least cost path coordinates are trimmed to avoid inflating the psi dissimilarity Irrelevant if
diagonal = TRUE
. Default: FALSE.- matrix_type
(optional, character string): one of "cost" or "distance" (the abbreviation "dist" is accepted as well). Default: "cost".
- matrix_color
(optional, character vector) vector of colors for the distance or cost matrix. If NULL, uses the palette "Zissou 1" provided by the function
grDevices::hcl.colors()
. Default: NULL- path_width
(optional, numeric) width of the least cost path. Default: 1
- path_color
(optional, character string) color of the least-cost path. Default: "black"
- line_color
(optional, character vector) Vector of colors for the time series plot. If not provided, defaults to a subset of
matrix_color
.- line_width
(optional, numeric vector) Width of the time series plot. Default: 1
- text_cex
(optional, numeric) Multiplier of the text size. Default: 1
See also
Other dissimilarity_analysis:
distantia_aggregate()
,
distantia_boxplot()
,
distantia_cluster_hclust()
,
distantia_cluster_kmeans()
,
distantia_matrix()
,
distantia_to_sf()
Examples
#three time series
#climate and ndvi in Fagus sylvatica stands in Spain, Germany, and Sweden
data("fagus_dynamics")
#convert to time series list
#scale and center to neutralize effect of different scales in temperature, rainfall, and ndvi
tsl <- tsl_initialize(
x = fagus_dynamics,
name_column = "name",
time_column = "time"
) |>
tsl_transform(
f = f_scale #see help(f_scale)
)
if(interactive()){
tsl_plot(
tsl = tsl,
guide_columns = 3
)
}
#visualize dynamic time warping
if(interactive()){
#plot pair with cost matrix (default)
distantia_plot(
tsl = tsl[c("Spain", "Sweden")] #only two time series!
)
#plot pair with distance matrix
distantia_plot(
tsl = tsl[c("Spain", "Sweden")],
matrix_type = "distance"
)
#plot pair with different distance
distantia_plot(
tsl = tsl[c("Spain", "Sweden")],
distance = "manhattan", #sed data(distances)
matrix_type = "distance"
)
#with different colors
distantia_plot(
tsl = tsl[c("Spain", "Sweden")],
matrix_type = "distance",
matrix_color = grDevices::hcl.colors(
n = 100,
palette = "Inferno"
),
path_color = "white",
path_width = 2,
line_color = grDevices::hcl.colors(
n = 3, #same as variables in tsl
palette = "Inferno"
)
)
}