Skip to content

pathpy_plot

Abstract base class for plot data preparation.

Provides common foundation for assembling plot data and configuration before backend-specific rendering. Handles configuration loading and data structure initialization.

PathPyPlot

Abstract base class for plot data assembly.

Prepares network data and configuration for backend rendering. Subclasses implement specific plot types (static, temporal, histogram, etc.).

Attributes:

Name Type Description
data dict

Dictionary containing processed plot data

config dict

Visualization configuration from pathpyG settings

Source code in src/pathpyG/visualisations/pathpy_plot.py
class PathPyPlot:
    """Abstract base class for plot data assembly.

    Prepares network data and configuration for backend rendering.
    Subclasses implement specific plot types (static, temporal, histogram, etc.).

    Attributes:
        data: Dictionary containing processed plot data
        config: Visualization configuration from pathpyG settings
    """

    def __init__(self) -> None:
        """Initialize plot with empty data and default configuration.

        Loads visualization config and normalizes color settings from
        lists to tuples for consistency across backends.
        """
        self.data: dict = {}
        self.config: dict = config.get("visualisation", {}).copy()
        if isinstance(self.config["node"]["color"], list):
            self.config["node"]["color"] = tuple(self.config["node"]["color"])
        if isinstance(self.config["edge"]["color"], list):
            self.config["edge"]["color"] = tuple(self.config["edge"]["color"])
        logger.debug(f"Intialising PathpyPlot with config: {self.config}")

    def generate(self) -> None:
        """Generate plot data structures.

        Raises:
            NotImplementedError: Must be implemented by subclasses
        """
        raise NotImplementedError

__init__

Initialize plot with empty data and default configuration.

Loads visualization config and normalizes color settings from lists to tuples for consistency across backends.

Source code in src/pathpyG/visualisations/pathpy_plot.py
def __init__(self) -> None:
    """Initialize plot with empty data and default configuration.

    Loads visualization config and normalizes color settings from
    lists to tuples for consistency across backends.
    """
    self.data: dict = {}
    self.config: dict = config.get("visualisation", {}).copy()
    if isinstance(self.config["node"]["color"], list):
        self.config["node"]["color"] = tuple(self.config["node"]["color"])
    if isinstance(self.config["edge"]["color"], list):
        self.config["edge"]["color"] = tuple(self.config["edge"]["color"])
    logger.debug(f"Intialising PathpyPlot with config: {self.config}")

generate

Generate plot data structures.

Raises:

Type Description
NotImplementedError

Must be implemented by subclasses

Source code in src/pathpyG/visualisations/pathpy_plot.py
def generate(self) -> None:
    """Generate plot data structures.

    Raises:
        NotImplementedError: Must be implemented by subclasses
    """
    raise NotImplementedError