online_cpd_plotter_layouts

Layout strategies for OnlineCPDPlotter.

This module provides various layout strategies for arranging subplots in change-point detection visualizations.

class pysatl_cpd.analysis.visualization.online.plotters.online_cpd_plotter_layouts.ILayoutStrategy[source]

Bases: ABC

Abstract base class for plot layout strategies.

abstractmethod create_figure_and_axes()[source]

Create a figure and return its axes mapping.

Return type:

tuple[Figure | Figure, dict[str, Axes] | dict[str, tuple[int, int]]]

abstract property required_axes: set[str]

Return the subplot names provided by this layout.

class pysatl_cpd.analysis.visualization.online.plotters.online_cpd_plotter_layouts.VerticalLayout[source]

Bases: ILayoutStrategy

Stack all plots in a single column.

create_figure_and_axes()[source]

Create a three-row vertical figure.

Return type:

tuple[Figure | Figure, dict[str, Axes] | dict[str, tuple[int, int]]]

property required_axes: set[str]

Return axes required by vertical layout.

class pysatl_cpd.analysis.visualization.online.plotters.online_cpd_plotter_layouts.SplitLayout[source]

Bases: ILayoutStrategy

Put the time series in one column and trace plots in the other.

create_figure_and_axes()[source]

Create a three-row, two-column split figure.

Return type:

tuple[Figure | Figure, dict[str, Axes] | dict[str, tuple[int, int]]]

property required_axes: set[str]

Return axes required by split layout.

class pysatl_cpd.analysis.visualization.online.plotters.online_cpd_plotter_layouts.DashboardLiteLayout[source]

Bases: ILayoutStrategy

Show one time-series panel above two trace panels.

create_figure_and_axes()[source]

Create a compact two-row dashboard figure.

Return type:

tuple[Figure | Figure, dict[str, Axes] | dict[str, tuple[int, int]]]

property required_axes: set[str]

Return axes required by dashboard-lite layout.

class pysatl_cpd.analysis.visualization.online.plotters.online_cpd_plotter_layouts.DashboardLayout[source]

Bases: ILayoutStrategy

Arrange the time series and three trace plots in a 2x2 grid.

create_figure_and_axes()[source]

Create a full two-by-two dashboard figure.

Return type:

tuple[Figure | Figure, dict[str, Axes] | dict[str, tuple[int, int]]]

property required_axes: set[str]

Return axes required by dashboard layout.

class pysatl_cpd.analysis.visualization.online.plotters.online_cpd_plotter_layouts.CustomLayout(create_figure_func, required_axes)[source]

Bases: ILayoutStrategy

Allow callers to provide custom figure-construction logic.

Parameters:
__init__(create_figure_func, required_axes)[source]
Parameters:
Return type:

None

create_figure_and_axes()[source]

Create a figure with the user-provided factory.

Return type:

tuple[Figure | Figure, dict[str, Axes] | dict[str, tuple[int, int]]]

property required_axes: set[str]

Return axes required by custom layout.