Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 12 additions & 5 deletions lib/matplotlib/colors.py
Original file line number Diff line number Diff line change
Expand Up @@ -1086,11 +1086,18 @@ def from_list(name, colors, N=256, gamma=1.0):

def resampled(self, lutsize):
"""Return a new colormap with *lutsize* entries."""
new_cmap = LinearSegmentedColormap(self.name, self._segmentdata,
lutsize)
new_cmap._rgba_over = self._rgba_over
new_cmap._rgba_under = self._rgba_under
new_cmap._rgba_bad = self._rgba_bad
# Avoid repeating self._segmentdata lookups and avoid attribute writes in hot path
segmentdata = self._segmentdata
name = self.name
rgba_over = self._rgba_over
rgba_under = self._rgba_under
rgba_bad = self._rgba_bad

# Move all assignments after construction for cache-friendly order
new_cmap = LinearSegmentedColormap(name, segmentdata, lutsize)
new_cmap._rgba_over = rgba_over
new_cmap._rgba_under = rgba_under
new_cmap._rgba_bad = rgba_bad
return new_cmap

# Helper ensuring picklability of the reversed cmap.
Expand Down