matplotlib.category
Plotting of string "category" data: plot(['d', 'f', 'a'], [1, 2, 3]) will plot three points with x-axis values of 'd', 'f', 'a'.
See Plotting categorical variables for an example.
The module uses Matplotlib's matplotlib.units mechanism to convert from strings to integers and provides a tick locator, a tick formatter, and the UnitData class that creates and stores the string-to-integer mapping.
- classmatplotlib.category.StrCategoryConverter[source]
-
Bases:
ConversionInterface- staticaxisinfo(unit, axis)[source]
-
Set the default axis ticks and labels.
- Parameters:
-
-
unit
UnitData -
object string unit information for value
-
axis
Axis -
axis for which information is being set
Note
axis is not used
-
unit
- Returns:
-
AxisInfo-
Information to support default tick labeling
- staticconvert(value, unit, axis)[source]
-
Convert strings in value to floats using mapping information stored in the unit object.
- Parameters:
-
- valuestr or iterable
-
Value or list of values to be converted.
-
unit
UnitData -
An object mapping strings to integers.
-
axis
Axis -
The axis on which the converted value is plotted.
Note
axis is unused.
- Returns:
-
- float or
ndarrayof float
- float or
- staticdefault_units(data, axis)[source]
-
Set and update the
Axisunits.- Parameters:
-
- datastr or iterable of str
-
axis
Axis -
axis on which the data is plotted
- Returns:
-
UnitData-
object storing string to integer mapping
- classmatplotlib.category.StrCategoryFormatter(units_mapping)[source]
-
Bases:
FormatterString representation of the data at every tick.
- Parameters:
-
- units_mappingdict
-
Mapping of category names (str) to indices (int).
- format_ticks(values)[source]
-
Return the tick labels for all the ticks at once.
- classmatplotlib.category.StrCategoryLocator(units_mapping)[source]
-
Bases:
LocatorTick at every integer mapping of the string data.
- Parameters:
-
- units_mappingdict
-
Mapping of category names (str) to indices (int).
- tick_values(vmin, vmax)[source]
-
Return the values of the located ticks given vmin and vmax.
Note
To get tick locations with the vmin and vmax values defined automatically for the associated
axissimply call the Locator instance:>>> print(type(loc)) <type 'Locator'> >>> print(loc()) [1, 2, 3, 4]
- classmatplotlib.category.UnitData(data=None)[source]
-
Bases:
objectCreate mapping between unique categorical values and integer ids.
- Parameters:
-
- dataiterable
-
sequence of string values
- update(data)[source]
-
Map new values to integer identifiers.
- Parameters:
-
- dataiterable of str or bytes
- Raises:
-
- TypeError
-
If elements in data are neither str nor bytes.
© 2012–2026 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/stable/api/category_api.html