class_docstr: An immutable object representation of a visualization.
  
  Notes
  -----
  - A plot object is returned via the SFrame's or SArray's .plot() method
  
  Examples
  --------
  Suppose 'plt' is an Plot Object
  
  We can view it using:
  
  >>> plt.show()
  
  We can save it using:
  
  >>> plt.save('vega_spec.json')
  
  We can also save the vega representation of the plot without data:
  
  >>> plt.save('vega_spec.json', False)
class_docstr_tok: ["An","immutable","object","representation","of","a","visualization",".","Notes","--","--","-","-","A","plot","object","is","returned","via","the","SFrame","'s","or","SArray","'s",".plot","(",")","method","Examples","--","--","--","--","Suppose","'plt","'","is","an","Plot","Object","We","can","view","it","using",":",">",">",">","plt.show","(",")","We","can","save","it","using",":",">",">",">","plt.save","(","'vega_spec.json","'",")","We","can","also","save","the","vega","representation","of","the","plot","without","data",":",">",">",">","plt.save","(","'vega_spec.json","'",",","False",")"]
docstr: A method for displaying the Plot object
  
  Notes
  -----
  - The plot will render either inline in a Jupyter Notebook, in a web
    browser, or in a native GUI window, depending on the value provided in
    `turicreate.visualization.set_target` (defaults to 'auto').
  
  Examples
  --------
  Suppose 'plt' is an Plot Object
  
  We can view it using:
  
  >>> plt.show()
docstr_tok: ["A","method","for","displaying","the","Plot","object","Notes","--","--","-","-","The","plot","will","render","either","inline","in","a","Jupyter","Notebook",",","in","a","web","browser",",","or","in","a","native","GUI","window",",","depending","on","the","value","provided","in","`","turicreate.visualization.set_target","`","(","defaults","to","'auto","'",")",".","Examples","--","--","--","--","Suppose","'plt","'","is","an","Plot","Object","We","can","view","it","using",":",">",">",">","plt.show","(",")"]
code: def show(self):
      """
      A method for displaying the Plot object
  
      Notes
      -----
      - The plot will render either inline in a Jupyter Notebook, in a web
        browser, or in a native GUI window, depending on the value provided in
        `turicreate.visualization.set_target` (defaults to 'auto').
  
      Examples
      --------
      Suppose 'plt' is an Plot Object
  
      We can view it using:
  
      >>> plt.show()
  
      """
      global _target
  
      # Suppress visualization output if 'none' target is set
      if _target == "none":
          return
  
      # If browser target is set, launch in web browser
      if _target == "browser":
          # First, make sure TURI_VISUALIZATION_WEB_SERVER_ROOT_DIRECTORY is set
          _ensure_web_server()
  
          # Launch this plot's URL using Python built-in webbrowser module
          import webbrowser
  
          url = self.get_url()
          webbrowser.open_new_tab(url)
          return
  
      # If auto target is set, try to show inline in Jupyter Notebook
      try:
          if _target == "auto" and (
              get_ipython().__class__.__name__ == "ZMQInteractiveShell"
              or get_ipython().__class__.__name__ == "Shell"
          ):
              self._repr_javascript_()
              return
      except NameError:
          pass
  
      path_to_client = _get_client_app_path()
  
      # _target can only be one of ['auto', 'browser', 'gui', 'none'].
      # We have already returned early for auto (in Jupyter Notebook) and
      # browser. At this point, we expect _target to be either "auto"
      # (not in Jupyter Notebook) or "gui". This is enforced in set_target.
      # Thus, proceed to launch the GUI.
  
      # TODO: allow autodetection of light/dark mode.
      # Disabled for now, since the GUI side needs some work (ie. background color).
      plot_variation = 0x10  # force light mode
      self.__proxy__.call_function(
          "show",
          {
              "path_to_client": path_to_client,
              "variation": plot_variation,
          },
      )
  
imports: from __future__ import print_function
  from __future__ import division
  from __future__ import absolute_import
  import json
  import os
  import sys
  from tempfile import mkstemp
  from subprocess import Popen
  from subprocess import PIPE
label_desc: Use image node_id 2 for calling the Plot obj's underlying member method code with example usage: obj.show() without return types