def to_dot(self, f, skip_disconnected=True):
disconnected = []<EOL>f.write("<STR_LIT>")<EOL>for dist, adjs in self.adjacency_list.items():<EOL><INDENT>if len(adjs) == <NUM_LIT:0> and not skip_disconnected:<EOL><INDENT>disconnected.append(dist)<EOL><DEDENT>for other, label in adjs:<EOL><INDENT>if not label is None:<EOL><INDENT>f.write('<STR_LIT>' %<EOL>(dist.name, other.name, label))<EOL><DEDENT>else:<EOL><INDENT>f.write('<STR_LIT>' % (dist.name, other.name))<EOL><DEDENT><DEDENT><DEDENT>if not skip_disconnected and len(disconnected) > <NUM_LIT:0>:<EOL><INDENT>f.write('<STR_LIT>')<EOL>f.write('<STR_LIT>')<EOL>f.write('<STR_LIT>')<EOL>for dist in disconnected:<EOL><INDENT>f.write('<STR_LIT>' % dist.name)<EOL>f.write('<STR_LIT:\n>')<EOL><DEDENT>f.write('<STR_LIT>')<EOL><DEDENT>f.write('<STR_LIT>')<EOL>
Writes a DOT output for the graph to the provided file *f*.

        If *skip_disconnected* is set to ``True``, then all distributions
        that are not dependent on any other distribution are skipped.

        :type f: has to support ``file``-like operations
        :type skip_disconnected: ``bool``