MultiSeriesScatterPlot

class MultiSeriesScatterPlot(seriesDataMap: Map<String, Map<String, DoubleArray>>, val responseName: String) : BasePlot(source)

Plots multiple observation sequences for an observation-based response variable on a single set of axes, with simulation time on the x-axis and the observed value on the y-axis.

Each entry in seriesDataMap becomes one coloured scatter series. The outer key is the series label shown in the legend (e.g. "Rep 1"); the inner map must contain keys "times" and "values" holding the simulation times and corresponding observations respectively — the same shape returned by ResponseTrace.traceDataMap and ResponseTrace.traceDataMaps.

This is the default visualisation for observation-based ResponseTrace data. Using simulation time on the x-axis (rather than observation index) makes the temporal distribution of observations visible and allows warm-up filtering to be directly apparent in the plot.

The convenience constructor accepts a ResponseTrace directly and handles data extraction and label generation automatically.

Parameters

seriesDataMap

series label → { "times" → DoubleArray, "values" → DoubleArray }

responseName

name used in the plot title and y-axis label

Constructors

Link copied to clipboard
constructor(seriesDataMap: Map<String, Map<String, DoubleArray>>, responseName: String)
constructor(responseTrace: ResponseTrace, repNums: List<Int> = responseTrace.replicationNumbers, startTime: Double = 0.0, endTime: Double = Double.MAX_VALUE)

Constructs a multi-series scatter plot directly from a ResponseTrace.

Properties

Link copied to clipboard

Functions

Link copied to clipboard
open override fun buildPlot(): Plot

Builds a new instance of a Lets-Plot representation of the plot