Skip to content

scale_x_time

scale_x_time(
    name: str | None = None,
    *,
    breaks: Breaks | None = None,
    break_width: str | None = None,
    labels: Labels | None = None,
    lablim: int | None = None,
    limits: Limits | None = None,
    expand: Sequence[Number] | None = None,
    na_value: Color | Number | None = None,
    position: Position | None = None,
) -> FeatureSpec

Duration position scale x.

Values are durations (timedelta, polars Duration columns) or milliseconds. Breaks fall on nice durations (seconds, minutes, hours, days, weeks) and are labelled like "1:30" or "2d 6:00".

Parameters:

  • name (str, default: None ) –

    Axis title (labs(x=...) takes precedence).

  • breaks (list, default: None ) –

    Fixed break positions (durations or milliseconds).

  • break_width (str, default: None ) –

    Fixed distance between breaks, e.g. "15 min" (see scale_x_datetime; months count as 30 days, years as 365).

  • labels (list of str or dict, default: None ) –

    One label per break (a dict maps breaks to labels). Ignored without breaks, as in lets-plot.

  • limits (list, default: None ) –

    [low, high] as durations; None leaves a side free.

  • expand (list, default: None ) –

    [multiplicative] or [multiplicative, additive] expansion; the additive part is in milliseconds.

  • lablim (int | None, default: None ) –

    As in lets-plot; not drawn yet (ggrust warns).

  • na_value (int | None, default: None ) –

    As in lets-plot; not drawn yet (ggrust warns).

  • position (int | None, default: None ) –

    As in lets-plot; not drawn yet (ggrust warns).

Returns:

  • FeatureSpec –

    Scale specification.

Examples:

>>> import datetime
>>> from ggrust import *
>>> laps = {"lap": [1, 2, 3], "time": [datetime.timedelta(minutes=m) for m in (31, 29, 33)]}
>>> plot = ggplot(laps, aes("time", "lap")) + geom_point() + scale_x_time()