code: def attach_keypress(fig, scaling=1.1):
      
  
      def press(event):
          if event.key == 'q':
              plt.close(fig)
          elif event.key == 'e':
              fig.set_size_inches(scaling * fig.get_size_inches(), forward=True)
          elif event.key == 'c':
              fig.set_size_inches(fig.get_size_inches() / scaling, forward=True)
  
      # Avoid multiple event handlers attached to the same figure
      if not hasattr(fig, '_sporco_keypress_cid'):
          cid = fig.canvas.mpl_connect('key_press_event', press)
          fig._sporco_keypress_cid = cid
  
      return press
docs: Attach a key press event handler that configures keys for closing a
      figure and changing the figure size. Keys 'e' and 'c' respectively
      expand and contract the figure, and key 'q' closes it.
  
      **Note:** Resizing may not function correctly with all matplotlib
      backends (a
      `bug <https://github.com/matplotlib/matplotlib/issues/10083>`__
      has been reported).
  
      Parameters
      ----------
      fig : :class:`matplotlib.figure.Figure` object
          Figure to which event handling is to be attached
     scaling : float, optional (default 1.1)
        Scaling factor for figure size changes
  
      Returns
      -------
      press : function
        Key press event handler function