plotnine.scales.scale.scale

scale(
    *,
    name=None,
    breaks,
    limits,
    labels=True,
    expand=None,
    guide,
    na_value=np.nan,
    aesthetics=()
)

Base class for all scales

Parameter Attributes

name: str | None = None

The name of the scale. It is used as the label of the axis or the title of the guide. Suitable defaults are chosen depending on the type of scale.

breaks: BreaksUserT

List of major break points. Or a callable that takes a tuple of limits and returns a list of breaks. If True, automatically calculate the breaks.

limits: LimitsUserT

Limits of the scale. Most commonly, these are the min & max values for the scales. For scales that deal with categoricals, these may be a subset or superset of the categories.

labels: ScaleLabelsUser = True

Labels at the breaks. Alternatively, a callable that takes an array_like of break points as input and returns a list of strings.

expand: (
    tuple[float, float]
    | tuple[float, float, float, float]
    | None
) = None

Multiplicative and additive expansion constants that determine how the scale is expanded. If specified must be of length 2 or 4. Specifically the values are in this order:

(mul, add)
(mul_low, add_low, mul_high, add_high)

For example,

  • (0, 0) - Do not expand.
  • (0, 1) - Expand lower and upper limits by 1 unit.
  • (1, 0) - Expand lower and upper limits by 100%.
  • (0, 0, 0, 0) - Do not expand, as (0, 0).
  • (0, 0, 0, 1) - Expand upper limit by 1 unit.
  • (0, 1, 0.1, 0) - Expand lower limit by 1 unit and upper limit by 10%.
  • (0, 0, 0.1, 2) - Expand upper limit by 10% plus 2 units.

If not specified, suitable defaults are chosen.

guide: GuideTypeT

Whether to include a legend

na_value: Any = np.nan

What value to assign to missing values. Default is to assign np.nan.

aesthetics: Sequence[ScaledAestheticsName] = ()

Aesthetics affected by this scale. These are defined by each scale and the user should probably not change them. Have fun.