Christopher Barrington-Leigh wrote:
I'd like to have the Sample A box place itself
in the optimal empty space, so as not to overlay
any graphing elements (if possible):
....
A simple alternative might be to place the label
just outside of the plot region either at the top
or the bottom of the plot instead of finding
an open area in which to place the label ....
def extremes( x1 , y1 , x2 , y2 ) :
min_x1 = min( x1 )
min_y1 = min( y1 )
max_x1 = max( x1 )
max_y1 = max( y1 )
min_x2 = min( x2 )
min_y2 = min( y2 )
max_x2 = max( x2 )
max_y2 = max( y2 )
min_x = min( min_x1 , min_x2 )
min_y = min( min_y1 , min_y2 )
max_x = max( max_x1 , max_x2 )
max_y = max( max_y1 , max_y2 )
aminx = min_x
aminy = min_y - 1.4
amaxx = max_x
amaxy = max_y + 1.4
return aminx , aminy , amaxx , amaxy
# bump up the plot size a bit
fig = plt.figure( 1 , figsize = ( 6 , 6 ) )
....
aminx , aminy , amaxx , amaxy = extremes( x1 , y1 , x2 , y2 )
....
# label at top center
ax.text( 0 , amaxy , "Sample A" , ha = "center" , va = "center" ,
size = 16 , bbox = bbox_props )
--
Stanley C. Kitching
Human Being
Phoenix, Arizona