import  matplotlib. pyplot as  plt
fig,  ax =  plt. subplots( ) 
line,  =  ax. plot( [ 1 ,  2 ,  3 ] ,  label= 'Line 1' ) 
ax. legend( draggable= True ) 
legend =  ax. get_legend( ) 
legend_bbox =  legend. get_window_extent( ) def  call_move ( event) : axtemp =  event. inaxesmouse_x =  event. xmouse_y =  event. yprint ( f"鼠标_x= { mouse_x} " ) print ( f"鼠标_y= { mouse_y} " ) if  axtemp and  axtemp. get_legend( ) : legend_bbox =  axtemp. get_legend( ) . get_window_extent( ) left_bottom =  legend_bbox. get_points( ) [ 0 ] right_top =  legend_bbox. get_points( ) [ 1 ] if  left_bottom[ 0 ]  <=  mouse_x <=  right_top[ 0 ]  and  left_bottom[ 1 ]  <=  mouse_y <=  right_top[ 1 ] : print ( "鼠标点击在图例矩形区域内。" ) else : print ( "鼠标点击在图例矩形区域外。" ) fig. canvas. mpl_connect( 'button_press_event' ,  call_move) plt. show( )