plot.twdtw_knn1: Plot Patterns from twdtw-knn1 model

View source: R/plot.R

plot.twdtw_knn1R Documentation

Plot Patterns from twdtw-knn1 model

Description

This function visualizes time series patterns from the "twdtw_knn1" model. It produces a multi-faceted plot, where each facet represents a different time series label from the model's data. Within each facet, different bands or indices (attributes) are plotted as distinct lines, differentiated by color.

Usage

## S3 method for class 'twdtw_knn1'
plot(x, bands = NULL, ...)

Arguments

x

A model of class "twdtw_knn1".

bands

A character vector specifying the bands or indices to plot. If NULL (default), all available bands or indices in the data will be plotted.

...

Additional arguments passed to ggplot. Currently not used.

Value

A ggplot object displaying the time series patterns.

See Also

twdtw_knn1

Examples

## Not run: 

# Read training samples
samples_path <-

samples <- st_read(samples_path, quiet = TRUE)

# Get satellite image time sereis files
tif_path <- system.file("mato_grosso_brazil", package = "dtwSat")
tif_files <- dir(tif_path, pattern = "\\.tif$", full.names = TRUE)

# Get acquisition dates
acquisition_date <- regmatches(tif_files, regexpr("[0-9]{8}", tif_files))
acquisition_date <- as.Date(acquisition_date, format = "%Y%m%d")

# Create a 3D datacube
dc <- read_stars(tif_files,
                 proxy = FALSE,
                 along = list(time = acquisition_date),
                 RasterIO = list(bands = 1:6))
dc <- st_set_dimensions(dc, 3, c("EVI", "NDVI", "RED", "BLUE", "NIR", "MIR"))
dc <- split(dc, c("band"))

# Create a knn1-twdtw model
m <- twdtw_knn1(
 x = dc,
 y = samples,
 resampling_fun = function(data) mgcv::gam(y ~ s(x), data = data),
 cycle_length = 'year',
 time_scale = 'day',
 time_weight = c(steepness = 0.1, midpoint = 50))

print(m)

# Visualize model patterns
plot(m)

# Classify satellite images
system.time(lu <- predict(dc, model = m))

# Visualise land use classification
ggplot() +
  geom_stars(data = lu) +
  theme_minimal()


# Create a knn1-twdtw model with custom smoothing function

m <- twdtw_knn1(x = dc,
 y = samples,
 resampling_fun = function(data) lm(y ~ factor(x), data = data),
 cycle_length = 'year',
 time_scale = 'day',
 time_weight = c(steepness = 0.1, midpoint = 50))

plot(m)


## End(Not run)

vwmaus/dtwSat documentation built on Jan. 28, 2024, 9 a.m.