code: def render_via_graphviz(
      dag_graph: DagGraphT, file_path_without_svg_suffix: str
  ) -> None:
      """Render the DAG using graphviz.
  
      Args:
          dag_graph: The DAG to render.
          file_path_without_svg_suffix: Path to the SVG file that should be created, without ".svg" suffix.
      """
      dot = graphviz.Digraph(
          comment=dag_graph.dag_id,
          node_attr={"shape": "box", "fontname": "Courier"},
      )
      # Not quite correct if there are shared nodes.
      for sink_node in dag_graph.sink_nodes:
          add_nodes_to_digraph(sink_node, dot)
      dot.format = "svg"
      dot.render(
          file_path_without_svg_suffix,
          view=True,
          format="svg",
          cleanup=True,
      )
  
file_path: metricflow/metricflow/dag/dag_visualization.py
imports: from __future__ import annotations
  import logging
  import os
  from typing import TypeVar
  import graphviz
  from metricflow.dag.mf_dag import DagNode, MetricFlowDag
  from metricflow.random_id import random_id
label_desc: Use image node_id 3 for calling a global function with example usage: render_via_graphviz(dag_graph, file_path_without_svg_suffix) without return types