Skip to content

Commit f0342a3

Browse files
committed
fix late binding and proper reversal for funcs
1 parent 0f1febf commit f0342a3

File tree

1 file changed

+10
-12
lines changed

1 file changed

+10
-12
lines changed

ultraplot/colors.py

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1272,14 +1272,12 @@ def reversed(self, name=None, **kwargs):
12721272
matplotlib.colors.LinearSegmentedColormap.reversed
12731273
"""
12741274
# Reverse segments
1275-
segmentdata = {
1276-
key: (
1277-
(lambda x, func=data: func(x))
1278-
if callable(data)
1279-
else [(1.0 - x, y1, y0) for x, y0, y1 in reversed(data)]
1280-
)
1281-
for key, data in self._segmentdata.items()
1282-
}
1275+
segmentdata = {}
1276+
for key, data in self._segmentdata.items():
1277+
if callable(data):
1278+
segmentdata[key] = lambda x, func=data: func(1.0 - x)
1279+
else:
1280+
segmentdata[key] = tuple((1.0 - x, y1, y0) for x, y0, y1 in data)
12831281

12841282
# Reverse gammas
12851283
if name is None:
@@ -3137,7 +3135,7 @@ def _translate_key(self, original_key, mirror=True):
31373135
# Handle reversal
31383136
reverse = key.endswith("_r")
31393137
if reverse:
3140-
key = key.rstrip("_r")
3138+
key = key.replace("_r", "")
31413139

31423140
# Check if the key exists in builtin colormaps
31433141
if self._has_item(key):
@@ -3156,7 +3154,7 @@ def _translate_key(self, original_key, mirror=True):
31563154

31573155
# Try mirroring the non-lowered key
31583156
if reverse:
3159-
original_key = original_key.strip("_r")
3157+
original_key = original_key.replace("_r", "")
31603158
half = len(original_key) // 2
31613159
mirrored_key = original_key[half:] + original_key[:half]
31623160
if self._has_item(mirrored_key):
@@ -3182,11 +3180,11 @@ def __getitem__(self, key):
31823180
key = self._translate_key(key, mirror=True)
31833181
shift = key.endswith("_s") and not self._has_item(key)
31843182
if shift:
3185-
key = key.rstrip("_s")
3183+
key = key.replace("_s", "")
31863184
reverse = key.endswith("_r") and not self._has_item(key)
31873185

31883186
if reverse:
3189-
key = key.rstrip("_r")
3187+
key = key.replace("_r", "")
31903188
# Retrieve colormap
31913189
if self._has_item(key):
31923190
value = self._cmaps[key].copy()

0 commit comments

Comments
 (0)