<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def save_graph(graph_str, dest_file, fmt=None, image_ratio=None):
 """Render a graph to an image file. Args: graph_str (str):
 Dot-language graph string. dest_file (str):
 Filepath to save the graph to. fmt (str):
 Format, eg "png", "jpg". image_ratio (float):
 Image ratio. Returns: String representing format that was written, such as 'png'. """

    g = pydot.graph_from_dot_data(graph_str)

    # determine the dest format
    if fmt is None:
        fmt = os.path.splitext(dest_file)[1].lower().strip('.') or "png"
    if hasattr(g, "write_" + fmt):
        write_fn = getattr(g, "write_" + fmt)
    else:
        raise Exception("Unsupported graph format: '%s'" % fmt)

    if image_ratio:
        g.set_ratio(str(image_ratio))
    write_fn(dest_file)
    return fmt