code: def embed(file_owner_or_url, file_id=None, width="100%", height=525):
      """Embeds existing Plotly figure in IPython Notebook
  
      Plotly uniquely identifies figures with a 'file_owner'/'file_id' pair.
      Since each file is given a corresponding unique url, you may also simply
      pass a valid plotly url as the first argument.
  
      Note, if you're using a file_owner string as the first argument, you MUST
      specify a `file_id` keyword argument. Else, if you're using a url string
      as the first argument, you MUST NOT specify a `file_id` keyword argument,
      or file_id must be set to Python's None value.
  
      Positional arguments:
      file_owner_or_url (string) -- a valid plotly username OR a valid plotly url
  
      Keyword arguments:
      file_id (default=None) -- an int or string that can be converted to int
                                if you're using a url, don't fill this in!
      width (default="100%") -- an int or string corresp. to width of the figure
      height (default="525") -- same as width but corresp. to the height of the
                                figure
  
      """
      try:
          s = get_embed(
              file_owner_or_url,
              file_id=file_id,
              width=width,
              height=height,
          )
  
          # see if we are in the SageMath Cloud
          if sage_salvus:
              return sage_salvus.html(s, hide=False)
      except:
          pass
      if ipython_core_display:
          if file_id:
              plotly_domain = (
                  session.get_session_config().get("plotly_domain")
                  or get_config_file()["plotly_domain"]
              )
              url = "{plotly_domain}/~{un}/{fid}".format(
                  plotly_domain=plotly_domain,
                  un=file_owner_or_url,
                  fid=file_id,
              )
          else:
              url = file_owner_or_url
  
          embed_url = _get_embed_url(url, file_id)
          return ipython_display.IFrame(embed_url, width, height)
      else:
          if (
              get_config_defaults()["plotly_domain"]
              != session.get_session_config()["plotly_domain"]
          ):
              feedback_contact = "Visit support.plotly.com"
          else:
              # different domain likely means enterprise
              feedback_contact = (
                  "Contact your On-Premise account executive"
              )
  
          warnings.warn(
              "Looks like you're not using IPython or Sage to embed this "
              "plot. If you just want the *embed code*,\ntry using "
              "`get_embed()` instead."
              "\nQuestions? {}".format(feedback_contact)
          )
  
imports: from __future__ import absolute_import
  import urllib
  import warnings
  import copy
  from _plotly_utils import optional_imports
  import _plotly_utils.exceptions
  from _plotly_utils.files import ensure_writable_plotly_dir
  from chart_studio import session, utils
  from chart_studio.files import CONFIG_FILE, CREDENTIALS_FILE, FILE_CONTENT
label_desc: Use image node_id 11 for calling a global function with example usage: embed(file_owner_or_url, file_id, width, height) and returns: ipython_display, sage_salvus