plotnine.scale_size_manual

scale_size_manual(
    values,
    *,
    name=None,
    breaks=True,
    limits=None,
    labels=True,
    expand=None,
    guide="legend",
    na_value=np.nan,
    aesthetics=(),
    drop=True,
    na_translate=True
)

Custom discrete size scale

Init Parameters

values: Sequence[Any] | dict[Any, Any]

Sizes that make up the palette. The values will be matched with the limits of the scale or the breaks if provided. If it is a dict then it should map data values to sizes.

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: DiscreteBreaksUser = True

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: DiscreteLimitsUser = None

Limits of the scale. These are the categories (unique values) of the variables. If is only a subset of the values, those that are left out will be treated as missing data and represented with a na_value.

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: Literal["legend"] | None = "legend"
na_value: Any = np.nan

If na_translate=True, what aesthetic value should be assigned to the missing values. This parameter does not apply to position scales where nan is always placed on the right.

aesthetics: Sequence[ScaledAestheticsName] = ()

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

drop: bool = True

Whether to drop unused categories from the scale

na_translate: bool = True

If True translate missing values and show them. If False remove missing values.