Graphviz太慢了

2024-03-29 10:46:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试生成一个有100个节点和4000条边的图,这已经超过了10分钟。我使用的是python graphviz代码。下面是用于生成图形的函数

    def draw_graph(self):
        dot = Digraph(format="png")#comment="This assignment sucks")
        edges = set()
        for k, v in self.graph.items():
            dot.node(self.letter(k))
            for neighbor in v:
                edge = self.letter(k) + "_" + self.letter(neighbor)
                if edge not in edges:
                    edges.add(edge)
#        dot.edges(list(edges))
        for edge in edges:
            dot.edge(*edge.split("_"))
        dot.render('og.gv', view=True) 

self.graph是一个字典,其中键是节点,值是相邻节点

在做了一些谷歌搜索之后,我找到了这个答案:https://stackoverflow.com/a/18831091/8903959但我一辈子都不知道如何在Python3中进行这些更改。有人对如何加快图形生成有什么想法吗?我做错什么了吗


Tags: 函数代码inself图形for节点dot