Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 90eae1f

Browse files
committed
Change name of class to BivariateNorm, take normalizer instances separately
1 parent 6086684 commit 90eae1f

2 files changed

Lines changed: 27 additions & 23 deletions

File tree

lib/matplotlib/colors.py

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1346,21 +1346,27 @@ def __call__(self, value, clip=None):
13461346
def inverse(self, value):
13471347
return value
13481348

1349-
class Norm2d:
1349+
class BivariateNorm:
13501350
"""
13511351
Normalize a list of two values corresponding to two 1D normalizers
13521352
"""
1353-
def __init__(self, norm_instances=None):
1353+
def __init__(self, norm1=None, norm2=None):
13541354
"""
13551355
Parameters
13561356
----------
1357-
norm_instances :
1358-
A list of length two having instances of 1D normalizers
1357+
norm1 :
1358+
An instance of 1D normalizers
1359+
norm2 :
1360+
An instance of 1D normalizers
13591361
"""
1360-
if norm_instances is None:
1361-
self.norm_instances = [Normalize(), Normalize()]
1362+
if norm1 is None:
1363+
self.norm1 = Normalize()
13621364
else:
1363-
self.norm_instances = norm_instances
1365+
self.norm1 = norm1
1366+
if norm2 is None:
1367+
self.norm2 = Normalize()
1368+
else:
1369+
self.norm2 = norm2
13641370

13651371
def __call__(self, values, clip=None):
13661372
"""
@@ -1378,13 +1384,11 @@ def __call__(self, values, clip=None):
13781384
A list of two normalized values according to corresponding 1D
13791385
normalizers.
13801386
"""
1381-
norm_one, norm_two = self.norm_instances
1382-
13831387
if clip is None:
1384-
clip = [norm_one.clip, norm_two.clip]
1388+
clip = [self.norm1.clip, self.norm2.clip]
13851389

1386-
return [norm_one(values[0], clip=clip[0]),
1387-
norm_two(values[1], clip=clip[1])]
1390+
return [self.norm1(values[0], clip=clip[0]),
1391+
self.norm2(values[1], clip=clip[1])]
13881392

13891393
def inverse(self, values):
13901394
"""
@@ -1397,9 +1401,7 @@ def inverse(self, values):
13971401
-------
13981402
A list of two unnormalized values
13991403
"""
1400-
norm_one, norm_two = self.norm_instances
1401-
1402-
return [norm_one.inverse(values[0]), norm_two.inverse(values[1])]
1404+
return [self.norm1.inverse(values[0]), self.norm.inverse(values[1])]
14031405

14041406
def rgb_to_hsv(arr):
14051407
"""

lib/matplotlib/tests/test_colors.py

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -273,30 +273,32 @@ def _mask_tester(norm_instance, vals):
273273
assert_array_equal(masked_array.mask, norm_instance(masked_array).mask)
274274

275275
@pytest.mark.parametrize(
276-
'norm_instances, values, expected, clip', [
276+
'norm1, norm2, values, expected, clip', [
277277
(
278+
None,
278279
None,
279280
[[0.2, 0.4, 0.5], [5, 7, 9, 10]],
280281
[[0, 0.666667, 1], [0, 0.4, 0.8, 1]],
281282
None
282283
),
283284
(
284-
[mcolors.LogNorm(clip=True, vmax=5), mcolors.Normalize()],
285+
mcolors.LogNorm(clip=True, vmax=5),
286+
None,
285287
[[1, 6], [5, 7, 9, 10]],
286288
[[0, 1.0], [0, 0.4, 0.8, 1]],
287289
None
288290
),
289291
(
290-
[mcolors.PowerNorm(2, vmin=0, vmax=8, clip=None),
291-
mcolors.PowerNorm(2, vmin=2, vmax=8, clip=True)],
292+
mcolors.PowerNorm(2, vmin=0, vmax=8, clip=None),
293+
mcolors.PowerNorm(2, vmin=2, vmax=8, clip=True),
292294
[np.array([-0.5, 0, 2, 4, 8], dtype=float),
293295
np.array([-0.5, 0, 1, 8, 16], dtype=float)],
294296
[[0, 0, 1/16, 1/4, 1], [0, 0, 0, 1, 1]],
295297
None
296298
),
297299
(
298-
[mcolors.SymLogNorm(3, vmin=-30, vmax=5, linscale=1.2),
299-
mcolors.PowerNorm(2, vmin=2, vmax=8, clip=False)],
300+
mcolors.SymLogNorm(3, vmin=-30, vmax=5, linscale=1.2),
301+
mcolors.PowerNorm(2, vmin=2, vmax=8, clip=False),
300302
[np.array([-30, -1, 2, 6], dtype=float),
301303
np.array([-0.5, 0, 1, 8, 16], dtype=float)],
302304
[[0., 0.53980074, 0.826991, 1.02758204], [0, 0, 0, 1, 1]],
@@ -309,8 +311,8 @@ def _mask_tester(norm_instance, vals):
309311
'SymLogNorm_and_PowerNorm_clip_in_call'
310312
]
311313
)
312-
def test_norm2d(norm_instances, values, expected, clip):
313-
norm = mcolors.Norm2d(norm_instances=norm_instances)
314+
def test_BivariateNorm(norm1, norm2, values, expected, clip):
315+
norm = mcolors.BivariateNorm(norm1=norm1, norm2=norm2)
314316
ans1, ans2 = norm(values=values, clip=clip)
315317
assert_array_almost_equal(ans1, expected[0])
316318
assert_array_almost_equal(ans2, expected[1])

0 commit comments

Comments
 (0)