code: def _handle_display_data(self, msg):
          
          img = None
          data = msg['content']['data']
          if 'image/svg+xml' in data:
              fmt = 'image/svg+xml'
              img = data['image/svg+xml']
          elif 'image/png' in data:
              # PNG data is base64 encoded as it passes over the network
              # in a JSON structure so we decode it.
              fmt = 'image/png'
              img = decodestring(data['image/png'].encode('ascii'))
          elif 'image/jpeg' in data and self._jpg_supported:
              fmt = 'image/jpeg'
              img = decodestring(data['image/jpeg'].encode('ascii'))
          if img is not None:
              self.sig_new_inline_figure.emit(img, fmt)
              if (self.figurebrowser is not None and
                      self.figurebrowser.mute_inline_plotting):
                  if not self.sended_render_message:
                      msg['content']['data']['text/plain'] = ''
                      self._append_html(
                          _('<br><hr>'
                            '\nFigures now render in the Plots pane by default. '
                            'To make them also appear inline in the Console, '
                            'uncheck "Mute Inline Plotting" under the Plots '
                            'pane options menu. \n'
                            '<hr><br>'), before_prompt=True)
                      self.sended_render_message = True
                  else:
                      msg['content']['data']['text/plain'] = ''
                  del msg['content']['data'][fmt]
  
          return super(FigureBrowserWidget, self)._handle_display_data(msg)
docs: Reimplemented to handle communications between the figure explorer
          and the kernel.