python - 使用 pydot 显示边集的有向图

标签 python graph networkx pydot

我想使用 pydot 创建一个有向图,并且我也有一个现成的边集。边集的类型可以是列表,也可以是元组,这都没关系,因为我可以提前根据自己的要求构造边集,就像[(1,2),(2,3), (3,2)]((1,2),(2,3),(3,2))

我初始化一个pydot对象g如下:

g = pydot.Dot()
g.set_type('digraph')

之后,我发现没有像add_edge_from这样的函数,只有gadd_edge函数。是不是意味着我必须一一生成边?

也许我可以按照一开始的方式从边集创建图形。

g=pydot.graph_from_edges(edge_set)

但我发现它会产生一个无向图:(

顺便说一句,我尝试使用networkx实现该图并成功。但其花哨迂回的展示方式,更注重边缘而不是节点(抱歉这只是我的观点,当然你可能不同意),并不符合我现在想要的。

有人对我有什么想法或建议吗?我可以使用现成的方法吗?感谢您的帮助!

最佳答案

In [1]: import networkx as nx

In [2]: G = nx.DiGraph([(1,2),(2,3),(3,2)])

In [3]: from networkx.drawing.nx_pydot import write_dot

In [4]: write_dot(G,'file.dot')

In [5]: !dot -Tpng file.dot >file.png

enter image description here

关于python - 使用 pydot 显示边集的有向图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36722770/

相关文章:

python - for和if在Python中的用法

python - 为什么我的元组列表是垂直的?

python - xlsxwriter set_column 隐藏不起作用

algorithm - HackerRank 上的最短距离图

python - 将 Pandas 数据框中的两列展开为列表列表

python - networkx - 将图转储到带有权重的 JSON 中

python - 如何使用 Selenium python 通过 id 查找网站元素?

php - 生成随机曲线

algorithm - prim的MST算法的邻接矩阵复杂度和邻接表线性搜索的复杂度一样吗?

python - 在 Debian wheezy 上安装 python3-networkx