geom-line
Line layer connecting observations in x order, one path per group.
Grouping is implicit: rows sharing the same discrete colour, fill, or group mapping form one path. Set group in aes to override when you need separate lines without mapping colour.
Usage
geom-line(
mapping: none,
data: none,
stroke: 0.8pt,
colour: auto,
alpha: auto,
linetype: auto,
key: auto,
stat: "identity",
position: "identity",
inherit-aes: true,
)Parameters
| Parameter | Default | Description |
|---|---|---|
mapping |
none |
Layer-specific aesthetic mapping built with aes. Falls back to the plot mapping when none. |
data |
none |
Layer-specific dataset. Falls back to the plot data when none. |
stroke |
0.8pt |
Line thickness (a Typst length). |
colour |
auto |
Fixed line colour. auto resolves via the colour scale or a neutral default. |
alpha |
auto |
Line opacity in [0, 1]. |
linetype |
auto |
Dash keyword (e.g., "solid", "dashed"). auto honours the linetype scale. |
key |
auto |
Legend glyph override built with a draw-key-* helper. auto picks the default for the geom. |
stat |
"identity" |
Statistical transform name. Usually "identity". |
position |
"identity" |
Position adjustment name. Usually "identity". |
inherit-aes |
true |
Whether to merge the plot-level mapping into this layer’s mapping. |
Returns
Layer dictionary consumed by plot.
Examples
One line per group, derived implicitly from the colour mapping.
#let d = (
(x: 1, y: 2, grp: "a"),
(x: 2, y: 4, grp: "a"),
(x: 3, y: 3, grp: "a"),
(x: 1, y: 1, grp: "b"),
(x: 2, y: 2, grp: "b"),
(x: 3, y: 4, grp: "b"),
)
#plot(
data: d,
mapping: aes(x: "x", y: "y", colour: "grp"),
layers: (geom-line(stroke: 1pt),),
width: 10cm,
height: 6cm,
)Map linetype to the same column to give each group a distinct dash pattern in addition to colour.
#let d = (
(x: 1, y: 2, grp: "a"),
(x: 2, y: 4, grp: "a"),
(x: 3, y: 3, grp: "a"),
(x: 1, y: 1, grp: "b"),
(x: 2, y: 2, grp: "b"),
(x: 3, y: 4, grp: "b"),
)
#plot(
data: d,
mapping: aes(x: "x", y: "y", colour: "grp", linetype: "grp"),
layers: (geom-line(stroke: 1pt),),
width: 10cm,
height: 6cm,
)