88from . import util as _util
99
1010
11- def _register_cmap_clip (name , original_cmap , alpha ):
11+ def _register_cmap_clip (name , original_name , alpha ):
1212 """Create a color map with "over" and "under" values."""
13- from matplotlib .colors import LinearSegmentedColormap
14- cdata = _plt .cm .datad [original_cmap ]
15- if isinstance (cdata , dict ):
16- cmap = LinearSegmentedColormap (name , cdata )
17- else :
18- cmap = LinearSegmentedColormap .from_list (name , cdata )
19- cmap .set_over ([alpha * c + 1 - alpha for c in cmap (1.0 )[:3 ]])
20- cmap .set_under ([alpha * c + 1 - alpha for c in cmap (0.0 )[:3 ]])
13+ cmap = _plt .get_cmap (original_name )
14+ cmap = cmap .with_extremes (
15+ under = cmap .get_under () * [1 , 1 , 1 , alpha ],
16+ over = cmap .get_over () * [1 , 1 , 1 , alpha ])
17+ cmap .name = name
2118 _plt .colormaps .register (cmap = cmap )
2219
2320
21+ _register_cmap_clip ('cividis_clip' , 'cividis' , 0.6 )
22+ _register_cmap_clip ('cividis_r_clip' , 'cividis_r' , 0.6 )
23+ _register_cmap_clip ('viridis_clip' , 'viridis' , 0.6 )
24+ _register_cmap_clip ('viridis_r_clip' , 'viridis_r' , 0.6 )
25+
2426# The 'coolwarm' colormap is based on the paper
2527# "Diverging Color Maps for Scientific Visualization" by Kenneth Moreland
2628# http://www.sandia.gov/~kmorel/documents/ColorMaps/
27- # already registered in MPL 3.9.0
28- try :
29- _register_cmap_clip ('coolwarm_clip' , 'coolwarm' , 0.7 )
30- except ImportError :
31- pass
29+ _register_cmap_clip ('coolwarm_clip' , 'coolwarm' , 0.6 )
30+ _register_cmap_clip ('coolwarm_r_clip' , 'coolwarm_r' , 0.6 )
3231
3332
3433def _register_cmap_transparent (name , color ):
@@ -313,8 +312,8 @@ def amplitude(p, grid, *, xnorm=None, cmap='coolwarm_clip',
313312 return im
314313
315314
316- def level (p , grid , * , xnorm = None , power = False , cmap = None , vmax = 3 , vmin = - 50 ,
317- ** kwargs ):
315+ def level (p , grid , * , xnorm = None , power = False , cmap = 'viridis_clip' ,
316+ vmax = 3 , vmin = - 50 , ** kwargs ):
318317 """Two-dimensional plot of level (dB) of sound field.
319318
320319 Takes the same parameters as `sfs.plot2d.amplitude()`.
@@ -336,7 +335,7 @@ def level(p, grid, *, xnorm=None, power=False, cmap=None, vmax=3, vmin=-50,
336335def particles (x , * , trim = None , ax = None , xlabel = 'x (m)' , ylabel = 'y (m)' ,
337336 edgecolors = None , marker = '.' , s = 15 , ** kwargs ):
338337 """Plot particle positions as scatter plot.
339-
338+
340339 Parameters
341340 ----------
342341 x : triple or pair of array_like
0 commit comments