@@ -66,6 +66,54 @@ def test_align_labels():
6666fig .align_labels ()
6767
6868
69+ @image_comparison (['figure_align_titles_constrained' ],extensions = ['png' ],
70+ tol = 0 if platform .machine ()== 'x86_64' else 0.01 ,
71+ style = 'mpl20' )
72+ def test_align_titles_constrained ():
73+ fig ,axs = plt .subplots (1 ,2 ,layout = 'constrained' ,width_ratios = [2 ,1 ])
74+
75+ ax = axs [0 ]
76+ ax .plot (np .arange (0 ,1e6 ,1000 ))
77+ ax .set_title ('Title0 left' ,loc = 'left' )
78+ ax .set_title ('Title0 center' ,loc = 'center' )
79+ ax .set_title ('Title0 right' ,loc = 'right' )
80+
81+ ax = axs [1 ]
82+ ax .plot (np .arange (0 ,1e4 ,100 ))
83+ ax .set_title ('Title1' )
84+ ax .set_xlabel ('Xlabel0' )
85+ ax .xaxis .set_label_position ("top" )
86+ ax .xaxis .tick_top ()
87+ for tick in ax .get_xticklabels ():
88+ tick .set_rotation (90 )
89+
90+ fig .align_titles ()
91+
92+
93+ @image_comparison (['figure_align_titles_tight' ],extensions = ['png' ],
94+ tol = 0 if platform .machine ()== 'x86_64' else 0.01 ,
95+ style = 'mpl20' )
96+ def test_align_titles_tight ():
97+ fig ,axs = plt .subplots (1 ,2 ,layout = 'tight' ,width_ratios = [2 ,1 ])
98+
99+ ax = axs [0 ]
100+ ax .plot (np .arange (0 ,1e6 ,1000 ))
101+ ax .set_title ('Title0 left' ,loc = 'left' )
102+ ax .set_title ('Title0 center' ,loc = 'center' )
103+ ax .set_title ('Title0 right' ,loc = 'right' )
104+
105+ ax = axs [1 ]
106+ ax .plot (np .arange (0 ,1e4 ,100 ))
107+ ax .set_title ('Title1' )
108+ ax .set_xlabel ('Xlabel0' )
109+ ax .xaxis .set_label_position ("top" )
110+ ax .xaxis .tick_top ()
111+ for tick in ax .get_xticklabels ():
112+ tick .set_rotation (90 )
113+
114+ fig .align_titles ()
115+
116+
69117def test_align_labels_stray_axes ():
70118fig ,axs = plt .subplots (2 ,2 )
71119for nn ,ax in enumerate (axs .flat ):