Base class for all continuous scales
Major break points. Alternatively, a callable that takes a tuple of limits and returns a list of breaks. Default is to automatically calculate the breaks.
Multiplicative and additive expansion constants that determine how the scale is expanded. If specified must of of length 2 or 4. Specifically the the values are of this order:
(mul, add) (mul_low, add_low, mul_high, add_high)
If not specified, suitable defaults are chosen.
Name used as the label of the scale. This is what shows up as the axis label or legend title. Suitable defaults are chosen depending on the type of scale.
str. Labels at the breaks.
Alternatively, a callable that takes an array_like of
break points as input and returns a list of strings.
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.
What value to assign to missing values. Default
is to assign
Function to map data points onto the scale. Most scales define their own palettes.
str. Aesthetics covered by the
scale. These are defined by each scale and the
user should probably not change them. Have fun.
Name of a trans function or a trans function.
mizani.transforms for possible options.
Function to deal with out of bounds (limits)
data points. Default is to turn them into
np.nan, which then get dropped.
If a list-like, it is the minor breaks points.
If an integer, it is the number of minor breaks between
any set of major breaks.
If a function, it should have the signature
func(limits) and return a list-like of consisting
of the minor break points.
None, no minor breaks are calculated.
The default is to automatically calculate them.
Function to rescale data points so that they can be handled by the palette. Default is to rescale them onto the [0, 1] range. Scales that inherit from this class may have another default.
If using the class directly all arguments must be keyword arguments.
rescaler(x, to=0, 1, _from=None)¶
Rescale numeric vector to have specified minimum and maximum.
>>> x = [0, 2, 4, 6, 8, 10] >>> rescale(x) array([0. , 0.2, 0.4, 0.6, 0.8, 1. ]) >>> rescale(x, to=(0, 2)) array([0. , 0.4, 0.8, 1.2, 1.6, 2. ]) >>> rescale(x, to=(0, 2), _from=(0, 20)) array([0. , 0.2, 0.4, 0.6, 0.8, 1. ])
oob(x, range=0, 1, only_finite=True)¶
Convert any values outside of range to a NULL type object.
All values in
x should be of the same type.
is not considered for Datetime and Timedelta types.
The NULL type object depends on the type of values in x.
>>> a = [1, 2, np.inf, 3, 4, -np.inf, 5] >>> censor(a, (0, 10)) [1, 2, inf, 3, 4, -inf, 5] >>> censor(a, (0, 10), False) [1, 2, nan, 3, 4, nan, 5] >>> censor(a, (2, 4)) [nan, 2, inf, 3, 4, -inf, nan]
a column of data to train over
Transform array|series x
Inverse transform array|series x
dimension(self, expand=0, 0, 0, 0, limits=None)¶
The phyical size of the scale, if a position scale Unlike limits, this always returns a numeric vector of length 2
expand_limits(self, limits, expand=None, coord_limits=None, trans=None)¶
Calculate the final range in coordinate space
view(self, limits=None, range=None)¶
Information about the trained scale
default_expansion(self, mult=0.05, add=0, expand=True)¶
Default expansion for continuous scale
map(self, x, limits=None)¶
Map every element of x
The palette should do the real work, this should make sure that sensible values are sent and return from the palette.
get_breaks(self, limits=None, strict=False)¶
Generate breaks for the axis or legend
Breaks are calculated in data space and returned in transformed space since all data is plotted in transformed space.
get_minor_breaks(self, major, limits=None)¶
Return minor breaks
get_labels(self, breaks=None, mask=None)¶
Generate labels for the axis or legend