scale-y-sqrt

Continuous y scale on a square-root axis.

Thin wrapper over scale-y-continuous with transform: "sqrt". All y values must be non-negative.

Usage

scale-y-sqrt(
  name: none,
  limits: none,
  breaks: auto,
  labels: auto,
)

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, or none for automatic limits.
breaks auto Array of break values, or auto for automatic tick selection.
labels auto Array of tick labels aligned with breaks, or auto.

Returns

Scale object consumed by plot.

Examples

Square-root y axis straightens a quadratic relationship.

#let d = range(0, 11).map(i => (x: i, y: i * i))
#plot(
  data: d,
  mapping: aes(x: "x", y: "y"),
  layers: (geom-point(size: 2pt),),
  scales: (scale-y-sqrt(name: "y"),),
  width: 10cm,
  height: 6cm,
)

Scatter chart of eleven points where a square-root y axis straightens the quadratic curve into a diagonal of evenly spaced values.

Scatter chart of eleven points where a square-root y axis straightens the quadratic curve into a diagonal of evenly spaced values.

Combine with limits to highlight a specific range without changing the underlying data.

#let d = range(0, 11).map(i => (x: i, y: i * i))
#plot(
  data: d,
  mapping: aes(x: "x", y: "y"),
  layers: (geom-point(size: 2pt),),
  scales: (scale-y-sqrt(name: "y", limits: (0, 64)),),
  width: 10cm,
  height: 6cm,
)

Scatter chart of squared values on a square-root y axis clipped to 0 through 64 so the panel zooms into the lower half of the data.

Scatter chart of squared values on a square-root y axis clipped to 0 through 64 so the panel zooms into the lower half of the data.

See also

scale-y-continuous, scale-x-sqrt.

Back to top