@@ -790,7 +790,12 @@ def from_list(name, colors, N=256, gamma=1.0):
790790
791791 def _resample (self , lutsize ):
792792 """Return a new color map with *lutsize* entries."""
793- return LinearSegmentedColormap (self .name , self ._segmentdata , lutsize )
793+ new_cmap = LinearSegmentedColormap (self .name , self ._segmentdata ,
794+ lutsize )
795+ new_cmap ._rgba_over = self ._rgba_over
796+ new_cmap ._rgba_under = self ._rgba_under
797+ new_cmap ._rgba_bad = self ._rgba_bad
798+ return new_cmap
794799
795800 # Helper ensuring picklability of the reversed cmap.
796801 @staticmethod
@@ -821,7 +826,12 @@ def reversed(self, name=None):
821826 [(1.0 - x , y1 , y0 ) for x , y0 , y1 in reversed (data )])
822827 for key , data in self ._segmentdata .items ()}
823828
824- return LinearSegmentedColormap (name , data_r , self .N , self ._gamma )
829+ new_cmap = LinearSegmentedColormap (name , data_r , self .N , self ._gamma )
830+ # Reverse the over/under values too
831+ new_cmap ._rgba_over = self ._rgba_under
832+ new_cmap ._rgba_under = self ._rgba_over
833+ new_cmap ._rgba_bad = self ._rgba_bad
834+ return new_cmap
825835
826836
827837class ListedColormap (Colormap ):
@@ -885,7 +895,12 @@ def _init(self):
885895 def _resample (self , lutsize ):
886896 """Return a new color map with *lutsize* entries."""
887897 colors = self (np .linspace (0 , 1 , lutsize ))
888- return ListedColormap (colors , name = self .name )
898+ new_cmap = ListedColormap (colors , name = self .name )
899+ # Keep the over/under values too
900+ new_cmap ._rgba_over = self ._rgba_over
901+ new_cmap ._rgba_under = self ._rgba_under
902+ new_cmap ._rgba_bad = self ._rgba_bad
903+ return new_cmap
889904
890905 def reversed (self , name = None ):
891906 """
@@ -906,7 +921,12 @@ def reversed(self, name=None):
906921 name = self .name + "_r"
907922
908923 colors_r = list (reversed (self .colors ))
909- return ListedColormap (colors_r , name = name , N = self .N )
924+ new_cmap = ListedColormap (colors_r , name = name , N = self .N )
925+ # Reverse the over/under values too
926+ new_cmap ._rgba_over = self ._rgba_under
927+ new_cmap ._rgba_under = self ._rgba_over
928+ new_cmap ._rgba_bad = self ._rgba_bad
929+ return new_cmap
910930
911931
912932class Normalize :
0 commit comments