File tree 2 files changed +14
-3
lines changed
2 files changed +14
-3
lines changed Original file line number Diff line number Diff line change @@ -2981,13 +2981,13 @@ def _update_title_position(self, renderer):
2981
2981
axs = axs + [ax ]
2982
2982
top = - np .Inf
2983
2983
for ax in axs :
2984
+ bb = None
2984
2985
if (ax .xaxis .get_ticks_position () in ['top' , 'unknown' ]
2985
2986
or ax .xaxis .get_label_position () == 'top' ):
2986
2987
bb = ax .xaxis .get_tightbbox (renderer )
2987
- else :
2988
+ if bb is None :
2988
2989
bb = ax .get_window_extent (renderer )
2989
- if bb is not None :
2990
- top = max (top , bb .ymax )
2990
+ top = max (top , bb .ymax )
2991
2991
if top < 0 :
2992
2992
# the top of Axes is not even on the figure, so don't try and
2993
2993
# automatically place it.
Original file line number Diff line number Diff line change @@ -5627,6 +5627,17 @@ def test_title_location_roundtrip():
5627
5627
ax .set_title ('fail' , loc = 'foo' )
5628
5628
5629
5629
5630
+ @pytest .mark .parametrize ('sharex' , [True , False ])
5631
+ def test_title_location_shared (sharex ):
5632
+ fig , axs = plt .subplots (2 , 1 , sharex = sharex )
5633
+ axs [0 ].set_title ('A' , pad = - 40 )
5634
+ axs [1 ].set_title ('B' , pad = - 40 )
5635
+ fig .draw_without_rendering ()
5636
+ x , y1 = axs [0 ].title .get_position ()
5637
+ x , y2 = axs [1 ].title .get_position ()
5638
+ assert y1 == y2 == 1.0
5639
+
5640
+
5630
5641
@image_comparison (["loglog.png" ], remove_text = True , tol = 0.02 )
5631
5642
def test_loglog ():
5632
5643
fig , ax = plt .subplots ()
You can’t perform that action at this time.
0 commit comments