publiplots.resolve_marker_map

publiplots.resolve_marker_map(values=None, marker_map=None, reverse=False)[source]

Create a mapping from category values to marker symbols.

Returns a dictionary mapping category names to specific marker symbols. Useful for categorical plots such as publiplots.scatterplot() with a style= mapping — it ensures consistent marker assignment across multiple plots.

Parameters:
  • values (list of str, optional) – Category values to map to markers. If None, returns an empty dict.

  • marker_map (dict or list of str, optional) –

    Marker specification:

    • dict — explicit mapping from values to markers; returned as-is.

    • list — markers cycled through the values list.

    • None — defaults to STANDARD_MARKERS.

  • reverse (bool, default False) – Whether to reverse the marker assignment order. Only applicable when marker_map is a list or None.

Returns:

dict of {str – Mapping from category values to marker symbols.

Return type:

str}

Examples

Create a mapping for categories:

>>> import publiplots as pp
>>> categories = ['A', 'B', 'C', 'D']
>>> mapping = pp.resolve_marker_map(values=categories)
>>> mapping['A']
'o'
>>> mapping['B']
's'

Use custom markers:

>>> mapping = pp.resolve_marker_map(
...     values=['cat', 'dog', 'bird'],
...     marker_map=['o', '^', 's'],
... )

Use an explicit mapping (returned unchanged):

>>> mapping = pp.resolve_marker_map(
...     values=['A', 'B'],
...     marker_map={'A': 'o', 'B': '^'},
... )
>>> mapping
{'A': 'o', 'B': '^'}

See also

resolve_markers

Resolve markers without creating a mapping.

STANDARD_MARKERS

Default marker pool.