scale-y-time
Continuous y scale that formats axis labels as times of day.
Column values may be numeric seconds since midnight (an integer in [0, 86400)) or ISO-8601 strings of the form HH:MM[:SS].
Usage
scale-y-time(
name: none,
limits: none,
breaks: auto,
labels: auto,
expand: auto,
date-format: "[hour]:[minute]",
)Parameters
| Parameter | Default | Description |
|---|---|---|
name |
none |
Axis title. Overrides any name set via labs when both are present. |
limits |
none |
Pair (lo, hi) clipping the trained domain (in seconds), or none for automatic limits. |
breaks |
auto |
Array of break values (in seconds), or auto for automatic tick selection. |
labels |
auto |
Array of tick labels aligned with breaks, or auto. |
expand |
auto |
Padding around the domain. Accepts a ratio (5%) for proportional breathing room, a length (5pt) for canvas-space padding, a relative (5pt + 5%) for both, or a (lo, hi) 2-tuple for asymmetric padding. auto keeps the per-scale default; false collapses to zero. |
date-format |
"[hour]:[minute]" |
Typst datetime.display pattern used for break labels. |
Returns
Scale object consumed by plot.
Examples
Time-of-day axis on the y for vertical event displays.
#let d = (
(x: "Mon", y: "08:30"),
(x: "Tue", y: "09:15"),
(x: "Wed", y: "10:00"),
(x: "Thu", y: "08:45"),
)
#plot(
data: d,
mapping: aes(x: "x", y: "y"),
layers: (geom-point(size: 3pt),),
scales: (scale-y-time(),),
width: 10cm,
height: 6cm,
)