def save_graphviz(graph: nx.DiGraph, save_path: str) -> None: """ Converts the networkx graph to a graphviz format and saves accordingly Parameters -------------------------------------- graph: nx.DiGraph Graph to be saved save_path: str Path and name of the file to be saved """ graph = nx.nx_agraph.to_agraph(graph) graph.node_attr.update() # graph.node_attr.update(style='filled', fillcolor='#40e0d0') graph.graph_attr.update(bgcolor='transparent') graph.layout('dot') dirname = os.path.dirname(save_path) if not os.path.exists(dirname): os.makedirs(dirname) graph.draw(save_path)
def save_graphviz(graph: nx.DiGraph, path: str) -> None: """ Converts the networkx graph to a graphviz format and saves accordingly Parameters -------------------------------------- graph: nx.DiGraph Graph to be saved path: str Path and name of the file to be saved """ try: graph = nx.nx_agraph.to_agraph(graph) graph.node_attr.update() # graph.node_attr.update(style='filled', fillcolor='#40e0d0') graph.graph_attr.update(bgcolor='transparent') graph.layout('dot') graph.draw(f'{path}.png') # graph = nx.drawing.nx_pydot.to_pydot(graph) # graph.write_png(f'{path}.png') except Exception: save_graph(graph, path)