def METHOD_NAME(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(
            """