@@ -998,6 +998,28 @@ def test_subfigure_double():
998998 axsRight = subfigs [1 ].subplots (2 , 2 )
999999
10001000
1001+ def test_subfigure_spanning ():
1002+ # test that subfigures get laid out properly...
1003+ fig = plt .figure (constrained_layout = True )
1004+ gs = fig .add_gridspec (3 , 3 )
1005+ sub_figs = [
1006+ fig .add_subfigure (gs [0 , 0 ]),
1007+ fig .add_subfigure (gs [0 :2 , 1 ]),
1008+ fig .add_subfigure (gs [2 , 1 :3 ]),
1009+ ]
1010+
1011+ w = 640
1012+ h = 480
1013+ np .testing .assert_allclose (sub_figs [0 ].bbox .min , [0. , h * 2 / 3 ])
1014+ np .testing .assert_allclose (sub_figs [0 ].bbox .max , [w / 3 , h ])
1015+
1016+ np .testing .assert_allclose (sub_figs [1 ].bbox .min , [w / 3 , h / 3 ])
1017+ np .testing .assert_allclose (sub_figs [1 ].bbox .max , [w * 2 / 3 , h ])
1018+
1019+ np .testing .assert_allclose (sub_figs [2 ].bbox .min , [w / 3 , 0 ])
1020+ np .testing .assert_allclose (sub_figs [2 ].bbox .max , [w , h / 3 ])
1021+
1022+
10011023def test_add_subplot_kwargs ():
10021024 # fig.add_subplot() always creates new axes, even if axes kwargs differ.
10031025 fig = plt .figure ()
0 commit comments