# scope_profiler.plotting_scripts.timeline

*module*

Timeline density heatmap: call-count intensity over time, per region.

[View source](https://github.com/max-models/scope-profiler/blob/devel/src/scope_profiler/plotting_scripts/timeline.py#L1-L1)

## scope_profiler.plotting_scripts.timeline.plot_timeline_density

*function*

```python
def plot_timeline_density(profiling_data: ProfilingResults | Sequence[ProfilingResults], ranks: list[int] | int | None = None, include: list[str] | str | None = None, exclude: list[str] | str | None = None, filepath: str | None = None, show: bool = False, verbose: bool = True, cmap: str = 'magma', bins: int = 200, start_time: float | None = None, end_time: float | None = None, min_duration: float = 0.0, data_filepath: str | Path | None = None, data_format: str = 'csv', backend: str = 'matplotlib', return_fig: bool = False) -> object | None
```

Plot binned region occupancy instead of individual timeline bars.

Each cell contains the seconds of a region overlapping that time bin.
This is intentionally an aggregate visualization: it remains readable
when a run contains millions of short calls.

[View source](https://github.com/max-models/scope-profiler/blob/devel/src/scope_profiler/plotting_scripts/timeline.py#L20-L159)
