如何用Python创建点文件?

2024-10-01 13:42:42 发布

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

我有一个数字电路模拟器,需要画一个电路图,几乎完全像这个问题(和答案)Block diagram layout with dot/graphviz

这是我第一次见到多特和格拉夫维兹。幸运的是,DOT语言规范是可用的,并且有许多示例。在

然而,有一个细节我仍然不清楚,作为一个新手,我要问的是:我有完整的数据来绘制图表。如何从中创建点文件?在

作为一行一行的文本?在

# SIMPLIFIED PSEUDOCODE
dotlines = ["digraph CIRCUIT {"]
for node in all_nodes:
    dotlines.append("  {}[{}];".format(node.name, node.data))
for edge in all_edges:
    dotlines.append("  {} -> {};".format(edge.from_name, edge.to_name))
dotlines.append['}']
dot = "\n".join(dotlines)

或者我应该转换我的数据并使用一些以点格式导出的模块?在


Tags: 数据答案nameinnodeformatforall
1条回答
网友
1楼 · 发布于 2024-10-01 13:42:42

您可以考虑pygraphviz。在

>>> import pygraphviz as pgv
>>> G=pgv.AGraph()
>>> G.add_node('a')
>>> G.add_edge('b','c')
>>> G
strict graph {
        a;
        b   c;
}

我不同意@MatteoItalia的评论(也许是品味问题)。您应该熟悉任务的可用包。你从简单的图形开始,却看不出使用(非常简单)包的理由。在某种程度上,图的复杂性可能会增加,但您将继续滚动您自己的解决方案,使之随时可用。在

相关问题 更多 >