simulation outputs for one or several situations with or without observations, eventually grouped by a model version (or any group actually)

# S3 method for cropr_simulation
plot(
  ...,
  obs = NULL,
  obs_sd = NULL,
  type = c("dynamic", "scatter"),
  select_dyn = c("sim", "common", "obs", "all"),
  select_scat = c("sim", "res"),
  var = NULL,
  title = NULL,
  all_situations = TRUE,
  overlap = NULL,
  successive = NULL,
  shape_sit = c("none", "txt", "symbol", "group"),
  situation_group = NULL,
  reference_var = NULL,
  force = TRUE,
  verbose = TRUE
)

autoplot.cropr_simulation(
  ...,
  obs = NULL,
  obs_sd = NULL,
  type = c("dynamic", "scatter"),
  select_dyn = c("sim", "common", "obs", "all"),
  select_scat = c("sim", "res"),
  var = NULL,
  title = NULL,
  all_situations = TRUE,
  overlap = NULL,
  successive = NULL,
  shape_sit = c("none", "txt", "symbol", "group"),
  situation_group = NULL,
  reference_var = NULL,
  force = TRUE,
  verbose = TRUE
)

Arguments

...

Simulation outputs (each element= model version), each being a named list of data.frame for each situation. See examples.

obs

A list (each element= situation) of observations data.frames (named by situation)

obs_sd

A list (each element= situation) of standard deviations of observations data.frames (named by situation)

type

The type of plot requested, either "dynamic" (date in X, variable in Y) or scatter (simulated VS observed)

select_dyn

Which data to plot when type= "dynamic"? See details.

select_scat

Which data to plot when type= "scatter"? See details.

var

Vector of variable names for which plots have to be created. Optional, all variables considered by default.

title

A vector of plot titles, named by situation. Use the situation name if NULL, recycled if length one.

all_situations

Boolean (default = TRUE). If TRUE, plot all situations on the same graph.

overlap

A list of lists containing the variables to represent on the same graph when type = "dynamic".

successive

A list of lists containing the situations to be represented as a contiguous sequence. Dates of variables must be continuous within a sequence of situations. when type = "dynamic" (implies that the situations are correctly ordered).

shape_sit

Shape to differentiate between situations when all_situations= TRUE. See details.

situation_group

A list of lists of situations to gather when shape_sit= "group".

reference_var

Variable selected on x-axis when type= "scatter" and select_scat= "res". It is possible to select between observation and simulation of the reference variable. (examples : reference_var = "lai_n_obs", reference_var = "mafruit_sim")

force

Continue if the plot is not possible ? E.g. no observations for scatter plots. If TRUE, return NULL, else return an error.

verbose

Boolean. Print information during execution.

Value

A (printed) list of ggplot objects, each element being a plot for a situation

Details

The select_dyn argument can be:

  • "sim" (the default): all variables with simulations outputs, and o bservations when there are some

  • "common": variables with simulations outputs and observations in common

  • "obs": all variables with observations, and simulations outputs when there are some

  • "all": all variables with any observations or simulations outputs

The select_scat argument can be:

  • "sim" (the default): plots observations in X and simulations in Y.

  • "res": plots observations in X and residuals (observations-simulations) in Y.

The shape_sit argument can be:

  • "none" (the default): Same shape for all situations.

  • "txt": Writes the name of the situation above each point.

  • "symbol": One shape for each situation.

  • "group": One shape for each group of situations described in situation_group.

Note

The error bar will be equal to 2*obs_sd on each side of the point to have 95% confidence.

The plots titles are given by their situation name.

Examples

if (FALSE) {
# Importing an example with three situations with observation:
workspace <- system.file(file.path("extdata", "stics_example_1"),
  package = "CroPlotR"
)
situations <- SticsRFiles::get_usms_list(
  usm_path =
    file.path(workspace, "usms.xml")
)
sim <- SticsRFiles::get_sim(workspace = workspace, usm = situations)
obs <- SticsRFiles::get_obs(workspace = workspace, usm = situations)

plot(sim, obs = obs)
}