Skip to content

Commit 5b79177

Browse files
committed
Ensure SegmentedNorm triggers FixedLocator
1 parent 8f8042f commit 5b79177

File tree

1 file changed

+9
-8
lines changed

1 file changed

+9
-8
lines changed

proplot/axes/plot.py

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2585,14 +2585,6 @@ def _sanitize_levels(key, array, minsize):
25852585
# NOTE: The level restriction should have no effect if levels were generated
25862586
# automatically. However want to apply these to manual-input levels as well.
25872587
if levels is not None:
2588-
# Apply default locator
2589-
locator = values if np.iterable(values) else levels
2590-
locator = _restrict_levels(locator)
2591-
if norm in ('segments', 'segmented') or isinstance(norm, pcolors.SegmentedNorm): # noqa: E501
2592-
locator = mticker.FixedLocator(locator)
2593-
else:
2594-
locator = pticker.DiscreteLocator(locator)
2595-
guides._add_guide_kw('colorbar', kwargs, locator=locator)
25962588
# Apply default norm
25972589
levels = _restrict_levels(levels)
25982590
if len(levels) == 0: # skip
@@ -2605,6 +2597,15 @@ def _sanitize_levels(key, array, minsize):
26052597
norm = _not_none(norm, 'segmented')
26062598
if norm in ('segments', 'segmented'):
26072599
norm_kw['levels'] = levels
2600+
# Apply default locator
2601+
# WARNING: This must come after default application of segmented norm
2602+
locator = values if np.iterable(values) else levels
2603+
locator = _restrict_levels(locator)
2604+
if norm in ('segments', 'segmented') or isinstance(norm, pcolors.SegmentedNorm): # noqa: E501
2605+
locator = mticker.FixedLocator(locator)
2606+
else:
2607+
locator = pticker.DiscreteLocator(locator)
2608+
guides._add_guide_kw('colorbar', kwargs, locator=locator)
26082609

26092610
return levels, vmin, vmax, norm, norm_kw, kwargs
26102611

0 commit comments

Comments
 (0)