Index: lib/matplotlib/backend_bases.py
===================================================================
--- lib/matplotlib/backend_bases.py	(revision 8968)
+++ lib/matplotlib/backend_bases.py	(working copy)
@@ -2191,6 +2191,7 @@
 
         # Load key-mappings from your matplotlibrc file.
         fullscreen_keys = rcParams['keymap.fullscreen']
+        close_plot_keys = rcParams['keymap.close_plot']
         home_keys = rcParams['keymap.home']
         back_keys = rcParams['keymap.back']
         forward_keys = rcParams['keymap.forward']
@@ -2206,6 +2207,9 @@
         if event.key in fullscreen_keys:
             self.full_screen_toggle()
 
+        # close plot window (default key 'q')
+        elif event.key in close_plot_keys:
+            self.close()
         # home or reset mnemonic  (default key 'h', 'home' and 'r')
         elif event.key in home_keys:
             self.canvas.toolbar.home()
Index: lib/matplotlib/rcsetup.py
===================================================================
--- lib/matplotlib/rcsetup.py	(revision 8968)
+++ lib/matplotlib/rcsetup.py	(working copy)
@@ -544,6 +544,7 @@
                                                     # enable. Experimental.
     # key-mappings
     'keymap.fullscreen' : ['f', validate_stringlist],
+    'keymap.close_plot' : ['q', validate_stringlist],
     'keymap.home' : [['h', 'r', 'home'], validate_stringlist],
     'keymap.back' : [['left', 'c', 'backspace'], validate_stringlist],
     'keymap.forward' : [['right', 'v'], validate_stringlist],
