@@ -998,6 +998,28 @@ def test_subfigure_double():
998
998
axsRight = subfigs [1 ].subplots (2 , 2 )
999
999
1000
1000
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
+
1001
1023
def test_add_subplot_kwargs ():
1002
1024
# fig.add_subplot() always creates new axes, even if axes kwargs differ.
1003
1025
fig = plt .figure ()
0 commit comments