【发布时间】:2016-01-29 06:30:47
【问题描述】:
我有一个数字电路模拟器,需要绘制一个几乎与此问题(和答案)Block diagram layout with dot/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 格式导出数据的模块?
【问题讨论】:
-
文件格式似乎很简单,我认为没有理由引入库(尤其是因为任何库都可能要求您以自己的数据结构提供图表)。
-
我建议你使用 gvgen。让它变得非常简单。