我有一个数字电路模拟器,需要绘制一个几乎完全与此问题(和答案)类似的电路图,并带有点/ graphviz的框图布局
这是我第一次接触DOT和graphviz。幸运的是,可以使用DOT语言规范,并且还有许多示例。
但是我仍然不清楚一个细节,作为一个新手我要问:我有完整的数据可以绘制图形。如何从中创建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)
还是应该以某种方式转换我的数据并使用一些以DOT格式导出数据的模块?
您可能会考虑pygraphviz。
>>> import pygraphviz as pgv
>>> G=pgv.AGraph()
>>> G.add_node('a')
>>> G.add_edge('b','c')
>>> G
strict graph {
a;
b -- c;
}
我不同意@MatteoItalia的评论(也许是出于品味的问题)。您应该熟悉任务的可用软件包。您从简单的图开始,没有看到使用(非常简单)程序包的原因。在某些时候,图的复杂性可能会增加,但是您将继续将自己的解决方案滚动到易于使用的解决方案上。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句