@@ -967,6 +967,40 @@ def test_subfigure_double():
967
967
axsRight = subfigs [1 ].subplots (2 , 2 )
968
968
969
969
970
+ def test_subfigure_spanning ():
971
+ # test that subfigures get laid out properly...
972
+ fig = plt .figure (constrained_layout = True )
973
+ gs = fig .add_gridspec (3 , 3 )
974
+ sub_figs = []
975
+ sub_figs += [fig .add_subfigure (gs [0 , 0 ])]
976
+ sub_figs += [fig .add_subfigure (gs [0 :2 , 1 ])]
977
+ sub_figs += [fig .add_subfigure (gs [2 , 1 :3 ])]
978
+
979
+ w = 640
980
+ h = 480
981
+ minp = sub_figs [0 ].bbox .min
982
+ exp = np .array ([0. , h * 2 / 3 ])
983
+ np .testing .assert_allclose (minp , exp )
984
+ maxp = sub_figs [0 ].bbox .max
985
+ exp = np .array ([w / 3 , h ])
986
+ np .testing .assert_allclose (maxp , exp )
987
+
988
+ minp = sub_figs [1 ].bbox .min
989
+ exp = np .array ([w / 3 , h * 1 / 3 ])
990
+ np .testing .assert_allclose (minp , exp )
991
+ maxp = sub_figs [1 ].bbox .max
992
+ exp = np .array ([w * 2 / 3 , h ])
993
+ np .testing .assert_allclose (maxp , exp )
994
+
995
+ minp = sub_figs [2 ].bbox .min
996
+ exp = np .array ([w / 3 , 0 ])
997
+ np .testing .assert_allclose (minp , exp )
998
+ maxp = sub_figs [2 ].bbox .max
999
+ exp = np .array ([w , h * 1 / 3 ])
1000
+ np .testing .assert_allclose (maxp , exp )
1001
+
1002
+
1003
+
970
1004
def test_add_subplot_kwargs ():
971
1005
# fig.add_subplot() always creates new axes, even if axes kwargs differ.
972
1006
fig = plt .figure ()
0 commit comments