code: def _set_mpl_backend(self, backend, pylab=False):
          
          import traceback
          from IPython.core.getipython import get_ipython
  
          generic_error = (
              "\n" + "="*73 + "\n"
              "NOTE: The following error appeared when setting "
              "your Matplotlib backend!!\n" + "="*73 + "\n\n"
              "{0}"
          )
  
          magic = 'pylab' if pylab else 'matplotlib'
  
          error = None
          try:
              get_ipython().run_line_magic(magic, backend)
          except RuntimeError as err:
              # This catches errors generated by ipykernel when
              # trying to set a backend. See issue 5541
              if "GUI eventloops" in str(err):
                  import matplotlib
                  previous_backend = matplotlib.get_backend()
                  if not backend in previous_backend.lower():
                      # Only inform about an error if the user selected backend
                      # and the one set by Matplotlib are different. Else this
                      # message is very confusing.
                      error = (
                          "\n"
                          "NOTE: Spyder *can't* set your selected Matplotlib "
                          "backend because there is a previous backend already "
                          "in use.\n\n"
                          "Your backend will be {0}".format(previous_backend)
                      )
                  del matplotlib
              # This covers other RuntimeError's
              else:
                  error = generic_error.format(traceback.format_exc())
          except Exception:
              error = generic_error.format(traceback.format_exc())
  
          self._mpl_backend_error = error
docs: Set a backend for Matplotlib.
  
          backend: A parameter that can be passed to %matplotlib
                   (e.g. 'inline' or 'tk').