code: def from_json(value, output_type="Figure", skip_invalid=False):
      """
      Construct a figure from a JSON string
  
      Parameters
      ----------
      value: str
          String containing the JSON representation of a figure
  
      output_type: type or str (default 'Figure')
          The output figure type or type name.
          One of:  graph_objs.Figure, 'Figure', graph_objs.FigureWidget, 'FigureWidget'
  
      skip_invalid: bool (default False)
          False if invalid figure properties should result in an exception.
          True if invalid figure properties should be silently ignored.
  
      Raises
      ------
      ValueError
          if value is not a string, or if skip_invalid=False and value contains
          invalid figure properties
  
      Returns
      -------
      Figure or FigureWidget
      """
  
      # Validate value
      # --------------
      if not isinstance(value, string_types):
          raise ValueError(
              """
  from_json requires a string argument but received value of type {typ}
      Received value: {value}""".format(
                  typ=type(value), value=value
              )
          )
  
      # Decode JSON
      # -----------
      fig_dict = json.loads(value)
  
      # Validate coerce output type
      # ---------------------------
      cls = validate_coerce_output_type(output_type)
  
      # Create and return figure
      # ------------------------
      fig = cls(fig_dict, skip_invalid=skip_invalid)
      return fig
  
imports: from __future__ import absolute_import
  from six import string_types
  import json
  from plotly.io._utils import validate_coerce_fig_to_dict, validate_coerce_output_type
label_desc: Use image node_id 3 for calling a global function with example usage: from_json(value, output_type, skip_invalid) and returns: fig