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.
- 
class matplotlib.category.StrCategoryConverter[source]
 
Bases: ConversionInterface
- 
static axisinfo(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
 
 
- Returns:
 
AxisInfoInformation to support default tick labeling
 
 
- 
static convert(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.
 
 
- Returns:
 
- float or 
ndarray of float 
 
- 
static default_units(data, axis)[source]
 
Set and update the Axis units.
- Parameters:
 
- datastr or iterable of str
 
- axis
Axis axis on which the data is plotted
 
 
- Returns:
 
UnitDataobject storing string to integer mapping
 
 
- 
class matplotlib.category.StrCategoryFormatter(units_mapping)[source]
 
Bases: Formatter
String 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.
- 
class matplotlib.category.StrCategoryLocator(units_mapping)[source]
 
Bases: Locator
Tick 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 axis simply call
the Locator instance:
>>> print(type(loc))
<type 'Locator'>
>>> print(loc())
[1, 2, 3, 4]
 
 
 
- 
class matplotlib.category.UnitData(data=None)[source]
 
Bases: object
Create 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.