Skip to content

config_context

yohou.plotting._utils.config_context(*, resampler=None, resampler_n_shown_samples=None, resampler_downsampler=None, resampler_gap_handler=None, resampler_trace_prefix_suffix=None, resampler_show_mean_aggregation_size=None)

Context manager to temporarily override plotting configuration.

Parameters

Name Type Description Default
resampler bool | Literal['widget'] | None

Temporary resampler mode. None leaves the current value unchanged.

None
resampler_n_shown_samples int | None

Temporary number of shown samples. None leaves unchanged.

None
resampler_downsampler AbstractAggregator | None

Temporary downsampling algorithm. None leaves unchanged.

None
resampler_gap_handler AbstractGapHandler | None

Temporary gap handler. None leaves unchanged.

None
resampler_trace_prefix_suffix tuple[str, str] | None

Temporary legend prefix/suffix. None leaves unchanged.

None
resampler_show_mean_aggregation_size bool | None

Temporary aggregation size display. None leaves unchanged.

None

Examples

>>> from yohou.plotting import config_context, get_config, set_config
>>> set_config(resampler=False)
>>> with config_context(resampler="widget"):
...     assert get_config()["resampler"] == "widget"
>>> assert get_config()["resampler"] is False

See Also

set_config : Set global configuration values. get_config : Read the current configuration.

Source Code

Show/Hide source
@contextmanager
def config_context(
    *,
    resampler: bool | Literal["widget"] | None = None,
    resampler_n_shown_samples: int | None = None,
    resampler_downsampler: AbstractAggregator | None = None,
    resampler_gap_handler: AbstractGapHandler | None = None,
    resampler_trace_prefix_suffix: tuple[str, str] | None = None,
    resampler_show_mean_aggregation_size: bool | None = None,
) -> Generator[None, None, None]:
    """Context manager to temporarily override plotting configuration.

    Parameters
    ----------
    resampler : bool | Literal["widget"] | None, default=None
        Temporary resampler mode.  ``None`` leaves the current value
        unchanged.
    resampler_n_shown_samples : int | None, default=None
        Temporary number of shown samples.  ``None`` leaves unchanged.
    resampler_downsampler : AbstractAggregator | None, default=None
        Temporary downsampling algorithm.  ``None`` leaves unchanged.
    resampler_gap_handler : AbstractGapHandler | None, default=None
        Temporary gap handler.  ``None`` leaves unchanged.
    resampler_trace_prefix_suffix : tuple[str, str] | None, default=None
        Temporary legend prefix/suffix.  ``None`` leaves unchanged.
    resampler_show_mean_aggregation_size : bool | None, default=None
        Temporary aggregation size display.  ``None`` leaves unchanged.

    Examples
    --------
    >>> from yohou.plotting import config_context, get_config, set_config
    >>> set_config(resampler=False)
    >>> with config_context(resampler="widget"):
    ...     assert get_config()["resampler"] == "widget"
    >>> assert get_config()["resampler"] is False

    See Also
    --------
    [`set_config`][yohou.plotting.set_config] : Set global configuration values.
    [`get_config`][yohou.plotting.get_config] : Read the current configuration.
    """
    old = _global_config.copy()
    try:
        set_config(
            resampler=resampler,
            resampler_n_shown_samples=resampler_n_shown_samples,
            resampler_downsampler=resampler_downsampler,
            resampler_gap_handler=resampler_gap_handler,
            resampler_trace_prefix_suffix=resampler_trace_prefix_suffix,
            resampler_show_mean_aggregation_size=resampler_show_mean_aggregation_size,
        )
        yield
    finally:
        _global_config.clear()
        _global_config.update(old)