scale-binned-area

Binned area-proportional size scale.

Usage

scale-binned-area(
  ..args,
)

Parameters

Parameter Default Description
..args Named arguments forwarded to the size scale.

Keys accepted by ..args:

  • n-breaks: Integer number of equal-width bins used when breaks is auto; default 4.
  • breaks: Array of bin edges, a function of the trained values returning edges (the breaks-* helpers return such a function), ticked at the bin midpoints and overriding n-breaks, or auto (default) to cut n-breaks equal-width bins.
  • range: Marker-radius (lo, hi) length pair; default (1pt, 6pt).
  • name: Axis or legend title, as a string or content; none (default) falls back to the mapped column name.
  • limits: Domain as a (lo, hi) pair, where either side may be auto to train that side from the data; none (default) trains both sides.
  • oob: Handling of rows outside limits: "drop" (default) removes them, "squish" clamps them to the nearest limit.
  • labels: Array of labels aligned with the breaks, a function of the break value returning a string or content (the format-* helpers return such a function), or auto (default) to format each break.

Returns

Deferred scale spec consumed by scales.

Examples

Bin an area-proportional size scale into discrete steps.

#let d = range(1, 8).map(i => (x: i, y: i, w: i * i))
#plot(
  data: d,
  mapping: aes(x: "x", y: "y", size: "w"),
  layers: (geom-point(),),
  scales: scales(size: scale-binned-area(n-breaks: 4, range: (1pt, 12pt))),
  width: 10cm,
  height: 6cm,
)

Scatter chart of seven diagonal points where a quadratic column is cut into four area-proportional size bins.

Scatter chart of seven diagonal points where a quadratic column is cut into four area-proportional size bins.

See also

scales, scale-area, scale-binned.

Back to top