python - 从字典创建图形工具图形

标签 python dictionary networkx graph-tool

我已经使用networkx一段时间了,它让我直接从字典创建Graph对象的方式非常巧妙:只需nx.Graph(my_dictionary)。 现在我尝试使用图形工具,但我发现我不能做同样的事情。

在谷歌搜索时我发现了 this blog post它展示了如何从 networkx 图创建图形工具图。 然而,这个过程非常复杂,每当我使用 graph-tool 时,我都不想同时依赖自制函数和 networkx。

我想编写一个迭代我的字典的函数也同样容易。 但在我开始这样做之前,我想确保没有人已经编写过字典到图形工具解析器。 这似乎是一件显而易见的事情,但我在图形工具文档中找不到任何东西......

最佳答案

这看起来很简单。假设你的字典代表 adjacency list图表的(这就是你在评论中所说的),可以按如下方式完成:

In [3]: d # This dictionary contains the adjacency list
Out[3]: {0: [1, 2], 1: [3]}

您可以从中创建边列表并将其添加到空图表中:

In [4]: edges = [(i, j) for i in d for j in d[i]]

In [6]: G = gt.Graph(directed = False)

In [7]: G.add_edge_list(edges)

In [8]: G
Out[8]: <Graph object, undirected, with 4 vertices and 3 edges at 0x7fdbc8257780>

这就是你想要的。

关于python - 从字典创建图形工具图形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39359386/

相关文章:

Python 子图为公共(public)轴标签留出空间

javascript - 如何按下键 :value to dictionary in JavaScript?

python - 在 Python3 中使用 NetworkX 创建弯曲边缘

python - Django 大变量存储

ubuntu - draw_networkx_labels 的可用 "font-family"条目

python - 组成:为什么 "container instance"改变时 "contained instance"属性没有更新?

python - 使用 Python 2.7 和 selenium 抓取数据并对其进行排序

python - 请求中未包含有效的面包屑

python list to dict转换困惑

java - 在MapReduce中分别处理多个输入文件