@@ -212,9 +212,18 @@ def test_multivar_resample():
212212
213213def test_bivar_cmap_call_tuple ():
214214 cmap = mpl .bivar_colormaps ['BiOrangeBlue' ]
215- assert_allclose (cmap ((1.0 , 1.0 )), (1 , 1 , 1 , 1 ), atol = 0.01 )
216- assert_allclose (cmap ((0.0 , 0.0 )), (0 , 0 , 0 , 1 ), atol = 0.1 )
217- assert_allclose (cmap ((0.0 , 0.0 ), alpha = 0.1 ), (0 , 0 , 0 , 0.1 ), atol = 0.1 )
215+ assert_allclose (cmap ((1.0 , 1.0 )), (1 , 1 , 1 , 1 ))
216+ assert_allclose (cmap ((0.0 , 0.0 )), (0 , 0 , 0 , 1 ))
217+ assert_allclose (cmap ((0.2 , 0.8 )), (0.2 , 0.5 , 0.8 , 1 ))
218+ assert_allclose (cmap ((0.0 , 0.0 ), alpha = 0.1 ), (0 , 0 , 0 , 0.1 ))
219+
220+
221+ def test_bivar_cmap_lut_smooth ():
222+ cmap = mpl .bivar_colormaps ['BiOrangeBlue' ]
223+ assert_allclose (cmap .lut [:, 0 , 0 ], np .linspace (0 , 1 , 256 ))
224+ assert_allclose (cmap .lut [:, 0 , 1 ], np .linspace (0 , 0.5 , 256 ), atol = 1e-3 )
225+ assert_allclose (cmap .lut [0 , :, 1 ], np .linspace (0 , 0.5 , 256 ), atol = 1e-3 )
226+ assert_allclose (cmap .lut [0 , :, 2 ], np .linspace (0 , 1 , 256 ))
218227
219228
220229def test_bivar_cmap_call ():
@@ -312,17 +321,29 @@ def test_bivar_cmap_call():
312321 match = "only implemented for use with with floats" ):
313322 cs = cmap ([(0 , 5 , 9 , 0 , 0 , 9 ), (0 , 0 , 0 , 5 , 11 , 11 )])
314323
315- # test origin
324+
325+ def test_bivar_cmap_1d_origin ():
326+ """
327+ Test getting 1D colormaps with different origins
328+ """
329+ cmap = mpl .bivar_colormaps ['BiOrangeBlue' ]
330+ assert_allclose (cmap [0 ](1. ), (1. , 0.5 , 0. , 1. ))
331+ assert_allclose (cmap [1 ](1. ), (0. , 0.5 , 1. , 1. ))
332+
333+ cmap = mpl .bivar_colormaps ['BiOrangeBlue' ].with_extremes (origin = (0 , 1 ))
334+ assert_allclose (cmap [0 ](1. ), (1. , 1. , 1. , 1. ))
335+ assert_allclose (cmap [1 ](1. ), (0. , 0.5 , 1. , 1. ))
336+
316337 cmap = mpl .bivar_colormaps ['BiOrangeBlue' ].with_extremes (origin = (0.5 , 0.5 ))
317338 assert_allclose (cmap [0 ](0.5 ),
318- (0.50244140625 , 0.5024222412109375 , 0.50244140625 , 1 ))
339+ (0.5019607843137255 , 0.5019453440984237 , 0.5019607843137255 , 1 ))
319340 assert_allclose (cmap [1 ](0.5 ),
320- (0.50244140625 , 0.5024222412109375 , 0.50244140625 , 1 ))
341+ (0.5019607843137255 , 0.5019453440984237 , 0.5019607843137255 , 1 ))
342+
321343 cmap = mpl .bivar_colormaps ['BiOrangeBlue' ].with_extremes (origin = (1 , 1 ))
322- assert_allclose (cmap [0 ](1. ),
323- (0.99853515625 , 0.9985467529296875 , 0.99853515625 , 1.0 ))
324- assert_allclose (cmap [1 ](1. ),
325- (0.99853515625 , 0.9985467529296875 , 0.99853515625 , 1.0 ))
344+ assert_allclose (cmap [0 ](1. ), (1. , 1. , 1. , 1. ))
345+ assert_allclose (cmap [1 ](1. ), (1. , 1. , 1. , 1. ))
346+
326347 with pytest .raises (KeyError ,
327348 match = "only 0 or 1 are valid keys" ):
328349 cs = cmap [2 ]
@@ -434,21 +455,21 @@ def test_bivar_cmap_from_image():
434455
435456def test_bivar_resample ():
436457 cmap = mpl .bivar_colormaps ['BiOrangeBlue' ].resampled ((2 , 2 ))
437- assert_allclose (cmap ((0.25 , 0.25 )), (0 , 0 , 0 , 1 ), atol = 1e-2 )
458+ assert_allclose (cmap ((0.25 , 0.25 )), (0 , 0 , 0 , 1 ))
438459
439460 cmap = mpl .bivar_colormaps ['BiOrangeBlue' ].resampled ((- 2 , 2 ))
440- assert_allclose (cmap ((0.25 , 0.25 )), (1. , 0.5 , 0. , 1. ), atol = 1e-2 )
461+ assert_allclose (cmap ((0.25 , 0.25 )), (1. , 0.5 , 0. , 1. ))
441462
442463 cmap = mpl .bivar_colormaps ['BiOrangeBlue' ].resampled ((2 , - 2 ))
443- assert_allclose (cmap ((0.25 , 0.25 )), (0. , 0.5 , 1. , 1. ), atol = 1e-2 )
464+ assert_allclose (cmap ((0.25 , 0.25 )), (0. , 0.5 , 1. , 1. ))
444465
445466 cmap = mpl .bivar_colormaps ['BiOrangeBlue' ].resampled ((- 2 , - 2 ))
446- assert_allclose (cmap ((0.25 , 0.25 )), (1 , 1 , 1 , 1 ), atol = 1e-2 )
467+ assert_allclose (cmap ((0.25 , 0.25 )), (1 , 1 , 1 , 1 ))
447468
448469 cmap = mpl .bivar_colormaps ['BiOrangeBlue' ].reversed ()
449- assert_allclose (cmap ((0.25 , 0.25 )), (0.748535 , 0.748547 , 0.748535 , 1. ), atol = 1e-2 )
470+ assert_allclose (cmap ((0.25 , 0.25 )), (0.74902 , 0.74902 , 0.74902 , 1. ), atol = 1e-5 )
450471 cmap = mpl .bivar_colormaps ['BiOrangeBlue' ].transposed ()
451- assert_allclose (cmap ((0.25 , 0.25 )), (0.252441 , 0.252422 , 0.252441 , 1. ), atol = 1e-2 )
472+ assert_allclose (cmap ((0.25 , 0.25 )), (0.25098 , 0.25098 , 0.25098 , 1. ), atol = 1e-5 )
452473
453474 with pytest .raises (ValueError , match = "lutshape must be of length" ):
454475 cmap = cmap .resampled (4 )
0 commit comments