Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit0223035

Browse files
committed
Fix incorrect dims in CompositeAffine [skip ci]
1 parent2804271 commit0223035

File tree

2 files changed

+46
-39
lines changed

2 files changed

+46
-39
lines changed

‎lib/matplotlib/tests/test_transforms.py

Lines changed: 45 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -381,12 +381,12 @@ def test_rotate(self):
381381
assert_array_almost_equal(r90[1].transform(self.single_point), [1,1,-1])
382382
assert_array_almost_equal(r90[2].transform(self.single_point), [-1,1,1])
383383

384-
assert_array_almost_equal(r90[0].transform(self.multiple_points), [
385-
[2,0,0], [0,0,3], [0,-4,0], [5,0,5], [6,-6,6]])
386-
assert_array_almost_equal(r90[1].transform(self.multiple_points), [
387-
[0,0,-2], [0,3,0], [4,0,0], [0,5,-5], [6,6,-6]])
388-
assert_array_almost_equal(r90[2].transform(self.multiple_points), [
389-
[0,2,0], [-3,0,0], [0,0,4], [-5,5,0], [-6,6,6]])
384+
assert_array_almost_equal(r90[0].transform(self.multiple_points),
385+
[[2,0,0], [0,0,3], [0,-4,0], [5,0,5], [6,-6,6]])
386+
assert_array_almost_equal(r90[1].transform(self.multiple_points),
387+
[[0,0,-2], [0,3,0], [4,0,0], [0,5,-5], [6,6,-6]])
388+
assert_array_almost_equal(r90[2].transform(self.multiple_points),
389+
[[0,2,0], [-3,0,0], [0,0,4], [-5,5,0], [-6,6,6]])
390390

391391
r_pi= [Affine3D().rotate(np.pi,dim)fordiminrange(3)]
392392
r180= [Affine3D().rotate_deg(180,dim)fordiminrange(3)]
@@ -395,12 +395,12 @@ def test_rotate(self):
395395
assert_array_almost_equal(r180[1].transform(self.single_point), [-1,1,-1])
396396
assert_array_almost_equal(r180[2].transform(self.single_point), [-1,-1,1])
397397

398-
assert_array_almost_equal(r180[0].transform(self.multiple_points), [
399-
[2,0,0], [0,-3,0], [0,0,-4], [5,-5,0], [6,-6,-6]])
400-
assert_array_almost_equal(r180[1].transform(self.multiple_points), [
401-
[-2,0,0], [0,3,0], [0,0,-4], [-5,5,0], [-6,6,-6]])
402-
assert_array_almost_equal(r180[2].transform(self.multiple_points), [
403-
[-2,0,0], [0,-3,0], [0,0,4], [-5,-5,0], [-6,-6,6]])
398+
assert_array_almost_equal(r180[0].transform(self.multiple_points),
399+
[[2,0,0], [0,-3,0], [0,0,-4], [5,-5,0], [6,-6,-6]])
400+
assert_array_almost_equal(r180[1].transform(self.multiple_points),
401+
[[-2,0,0], [0,3,0], [0,0,-4], [-5,5,0], [-6,6,-6]])
402+
assert_array_almost_equal(r180[2].transform(self.multiple_points),
403+
[[-2,0,0], [0,-3,0], [0,0,4], [-5,-5,0], [-6,-6,6]])
404404

405405
r_pi_3_2= [Affine3D().rotate(3*np.pi/2,dim)fordiminrange(3)]
406406
r270= [Affine3D().rotate_deg(270,dim)fordiminrange(3)]
@@ -409,12 +409,12 @@ def test_rotate(self):
409409
assert_array_almost_equal(r270[1].transform(self.single_point), [-1,1,1])
410410
assert_array_almost_equal(r270[2].transform(self.single_point), [1,-1,1])
411411

412-
assert_array_almost_equal(r270[0].transform(self.multiple_points), [
413-
[2,0,0], [0,0,-3], [0,4,0], [5,0,-5], [6,6,-6]])
414-
assert_array_almost_equal(r270[1].transform(self.multiple_points), [
415-
[0,0,2], [0,3,0], [-4,0,0], [0,5,5], [-6,6,6]])
416-
assert_array_almost_equal(r270[2].transform(self.multiple_points), [
417-
[0,-2,0], [3,0,0], [0,0,4], [5,-5,0], [6,-6,6]])
412+
assert_array_almost_equal(r270[0].transform(self.multiple_points),
413+
[[2,0,0], [0,0,-3], [0,4,0], [5,0,-5], [6,6,-6]])
414+
assert_array_almost_equal(r270[1].transform(self.multiple_points),
415+
[[0,0,2], [0,3,0], [-4,0,0], [0,5,5], [-6,6,6]])
416+
assert_array_almost_equal(r270[2].transform(self.multiple_points),
417+
[[0,-2,0], [3,0,0], [0,0,4], [5,-5,0], [6,-6,6]])
418418

419419
fordiminrange(3):
420420
assert_array_equal(r_pi_2[dim].get_matrix(),r90[dim].get_matrix())
@@ -430,35 +430,35 @@ def test_rotate_around(self):
430430
fordiminrange(3)]
431431
r90= [Affine3D().rotate_deg_around(*self.pivot,90,dim)fordiminrange(3)]
432432

433-
assert_array_almost_equal(r90[0].transform(self.multiple_points), [
434-
[2,2,0], [0,2,3], [0,-2,0], [5,2,5], [6,-4,6]])
435-
assert_array_almost_equal(r90[1].transform(self.multiple_points), [
436-
[0,0,0], [0,3,2], [4,0,2], [0,5,-3], [6,6,-4]])
437-
assert_array_almost_equal(r90[2].transform(self.multiple_points), [
438-
[2,2,0], [-1,0,0], [2,0,4], [-3,5,0], [-4,6,6]])
433+
assert_array_almost_equal(r90[0].transform(self.multiple_points),
434+
[[2,2,0], [0,2,3], [0,-2,0], [5,2,5], [6,-4,6]])
435+
assert_array_almost_equal(r90[1].transform(self.multiple_points),
436+
[[0,0,0], [0,3,2], [4,0,2], [0,5,-3], [6,6,-4]])
437+
assert_array_almost_equal(r90[2].transform(self.multiple_points),
438+
[[2,2,0], [-1,0,0], [2,0,4], [-3,5,0], [-4,6,6]])
439439

440440

441441
r_pi= [Affine3D().rotate_around(*self.pivot,np.pi,dim)fordiminrange(3)]
442442
r180= [Affine3D().rotate_deg_around(*self.pivot,180,dim)fordiminrange(3)]
443443

444-
assert_array_almost_equal(r180[0].transform(self.multiple_points), [
445-
[2,2,2], [0,-1,2], [0,2,-2], [5,-3,2], [6,-4,-4]])
446-
assert_array_almost_equal(r180[1].transform(self.multiple_points), [
447-
[0,0,2], [2,3,2], [2,0,-2], [-3,5,2], [-4,6,-4]])
448-
assert_array_almost_equal(r180[2].transform(self.multiple_points), [
449-
[0,2,0], [2,-1,0], [2,2,4], [-3,-3,0], [-4,-4,6]])
444+
assert_array_almost_equal(r180[0].transform(self.multiple_points),
445+
[[2,2,2], [0,-1,2], [0,2,-2], [5,-3,2], [6,-4,-4]])
446+
assert_array_almost_equal(r180[1].transform(self.multiple_points),
447+
[[0,0,2], [2,3,2], [2,0,-2], [-3,5,2], [-4,6,-4]])
448+
assert_array_almost_equal(r180[2].transform(self.multiple_points),
449+
[[0,2,0], [2,-1,0], [2,2,4], [-3,-3,0], [-4,-4,6]])
450450

451451

452452
r_pi_3_2= [Affine3D().rotate_around(*self.pivot,3*np.pi/2,dim)
453453
fordiminrange(3)]
454454
r270= [Affine3D().rotate_deg_around(*self.pivot,270,dim)fordiminrange(3)]
455455

456-
assert_array_almost_equal(r270[0].transform(self.multiple_points), [
457-
[2,0,2], [0,0,-1], [0,4,2], [5,0,-3], [6,6,-4]])
458-
assert_array_almost_equal(r270[1].transform(self.multiple_points), [
459-
[2,0,2], [2,3,0], [-2,0,0], [2,5,5], [-4,6,6]])
460-
assert_array_almost_equal(r270[2].transform(self.multiple_points), [
461-
[0,0,0], [3,2,0], [0,2,4], [5,-3,0], [6,-4,6]])
456+
assert_array_almost_equal(r270[0].transform(self.multiple_points),
457+
[[2,0,2], [0,0,-1], [0,4,2], [5,0,-3], [6,6,-4]])
458+
assert_array_almost_equal(r270[1].transform(self.multiple_points),
459+
[[2,0,2], [2,3,0], [-2,0,0], [2,5,5], [-4,6,6]])
460+
assert_array_almost_equal(r270[2].transform(self.multiple_points),
461+
[[0,0,0], [3,2,0], [0,2,4], [5,-3,0], [6,-4,6]])
462462

463463
fordiminrange(3):
464464
assert_array_almost_equal(r90[dim].transform(self.single_point), [1,1,1])
@@ -472,6 +472,15 @@ def test_rotate_around(self):
472472
assert_array_almost_equal(
473473
(r90[dim]+r180[dim]).get_matrix(),r270[dim].get_matrix())
474474

475+
deftest_scale(self):
476+
sx=Affine3D().scale(3,1,1)
477+
sy=Affine3D().scale(1,-2,1)
478+
sz=Affine3D().scale(1,1,4)
479+
trans=Affine3D().scale(3,-2,4)
480+
assert_array_equal((sx+sy+sz).get_matrix(),trans.get_matrix())
481+
assert_array_equal(trans.transform(self.single_point), [3,-2,4])
482+
assert_array_equal(trans.transform(self.multiple_points),
483+
[[6,0,0], [0,-6,0], [0,0,16], [15,-10,0], [18,-12,24]])
475484

476485
deftest_non_affine_caching():
477486
classAssertingNonAffineTransform(mtransforms.Transform):

‎lib/matplotlib/transforms.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2833,10 +2833,8 @@ def __init__(self, a, b, **kwargs):
28332833
ifa.output_dims!=b.input_dims:
28342834
raiseValueError("The output dimension of 'a' must be equal to "
28352835
"the input dimensions of 'b'")
2836-
self.input_dims=a.input_dims
2837-
self.output_dims=b.output_dims
2836+
super().__init__(dims=a.output_dims,**kwargs)
28382837

2839-
super().__init__(**kwargs)
28402838
self._a=a
28412839
self._b=b
28422840
self.set_children(a,b)

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp