def find_edges(graph: pydot.Dot, source: str) -> List[pydot.Edge]: edges = [] for e in graph.get_edges(): if e.get_source() == source: edges.append(e) return edges
def dot_to_subgraph(graph: pydot.Dot, label: str) -> pydot.Cluster: graph_s = pydot.Cluster(label, label=label) for node in graph.get_nodes(): graph_s.add_node(node) for edge in graph.get_edges(): graph_s.add_edge(edge) return graph_s
def dot_to_subgraph(graph: pydot.Dot, label: str) -> pydot.Cluster: graph_s = pydot.Cluster(label, label=label) graph_s.set_edge_defaults(style='dashed', color='gray', penwidth=1) for node in graph.get_nodes(): graph_s.add_node(node) for edge in graph.get_edges(): graph_s.add_edge(edge) return graph_s
def set_common_attributes(graph: pydot.Dot) -> None: graph.set_layout("neato") graph.set_overlap("false") graph.set_splines("compound") graph.set_sep("+10") for node in graph.get_nodes(): node.set_shape("circle") node.set_style("filled") node.set_height("0.15") node.set_fontsize("5") node.set_fixedsize("true") node.set_color("#5aa469") for edge in graph.get_edges(): edge.set_penwidth("0.3")