---
title: phaseplot
sidebarTitle: phaseplot
---

# `catalax.neural.plots.phaseplot`

## Functions

### `phase_plot` <sup><a href="https://github.com/JR-1991/Catalax/blob/master/catalax/neural/plots/phaseplot.py#L18" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python
phase_plot(rateflow_ode: RateFlowODE, dataset: Dataset, model: Model, rate_indices: List[int] | None = None, state_identifiers: List[str] | None = None, state_pairs: List[Tuple[str | int, str | int]] | None = None, representative_time: float = 0.0, grid_resolution: int = 30, figsize_per_subplot: Tuple[int, int] = (5, 4), save_path: str | None = None, range_extension: float = 0.2, show: bool = True) -> Figure
```


Create static visualizations showing how dynamics depend on concentration inputs.

**Args:**
- `rateflow_ode`: RateFlowODE instance to use for calculations
- `dataset`: Dataset containing the measurements
- `model`: Model to use for the analysis
- `rate_indices`: List of rate indices to plot. If None, plots all rates.
- `state_identifiers`: List of state to include (by name, symbol, or index).
            If None, uses all state.
- `state_pairs`: List of tuples specifying which state pairs to compare.
            Each tuple should contain two state identifiers (name, symbol, or index).
            If None, compares all possible pairs from state_identifiers.
- `representative_time`: Time point to use for the analysis
- `grid_resolution`: Number of points in each dimension of the concentration grid
- `figsize_per_subplot`: Size of each subplot (width, height)
- `save_path`: Path to save the figure
- `range_extension`: Factor to extend concentration ranges beyond data bounds (0.0-1.0).
            Default 0.2 extends ranges by 20% above and below data bounds.
            Lower bound is clamped to 0.0.

