docstr: Make graphviz Digraph of PyMC model
  
  Returns
  -------
  graphviz.Digraph
docstr_tok: ["Make","graphviz","Digraph","of","PyMC","model","Returns","--","--","--","-","graphviz.Digraph"]
code: def make_graph(
      self,
      var_names: Optional[Iterable[VarName]] = None,
      formatting: str = "plain",
  ):
      """Make graphviz Digraph of PyMC model
  
      Returns
      -------
      graphviz.Digraph
      """
      try:
          import graphviz
      except ImportError:
          raise ImportError(
              "This function requires the python library graphviz, along with binaries. "
              "The easiest way to install all of this is by running\n\n"
              "\tconda install -c conda-forge python-graphviz"
          )
      graph = graphviz.Digraph(self.model.name)
      for plate_label, all_var_names in self.get_plates(
          var_names
      ).items():
          if plate_label:
              # must be preceded by 'cluster' to get a box around it
              with graph.subgraph(name="cluster" + plate_label) as sub:
                  for var_name in all_var_names:
                      self._make_node(
                          var_name, sub, formatting=formatting
                      )
                  # plate label goes bottom right
                  sub.attr(
                      label=plate_label,
                      labeljust="r",
                      labelloc="b",
                      style="rounded",
                  )
          else:
              for var_name in all_var_names:
                  self._make_node(
                      var_name, graph, formatting=formatting
                  )
  
      for child, parents in self.make_compute_graph(
          var_names=var_names
      ).items():
          # parents is a set of rv names that precede child rv nodes
          for parent in parents:
              graph.edge(
                  parent.replace(":", "&"), child.replace(":", "&")
              )
  
      return graph
  
imports: import warnings
  from collections import defaultdict
  from typing import Dict, Iterable, List, Optional, Sequence, Set
  from pytensor import function
  from pytensor.compile.sharedvalue import SharedVariable
  from pytensor.graph import Apply
  from pytensor.graph.basic import ancestors, walk
  from pytensor.scalar.basic import Cast
  from pytensor.tensor.elemwise import Elemwise
  from pytensor.tensor.random.op import RandomVariable
  from pytensor.tensor.shape import Shape
  from pytensor.tensor.variable import TensorConstant, TensorVariable
  import pymc
  from pymc.util import VarName, get_default_varnames, get_var_name
label_desc: Use image node_id 7 for calling the ModelGraph obj's underlying member method code with example usage: obj.make_graph(var_names, formatting) and returns: graph