首页 > 解决方案 > 读取文件并从中获取数据

问题描述

我对 Networkx 很陌生,所以我正在尝试它的各种图形功能

G = nx.read_edgelist('Employee.txt', delimiter="\t")
G

当我为G运行时,它会给出 <networkx.classes.graph.Graph at 0x7f0f706a1898>

这条线是什么意思和数字(0xxxxxxxx)

如何从这些数据中获取图表。如何查看G里面的内容,它包含什么。

标签: jupyter-notebooknetworkx

解决方案


让我们分解一下<network.classes.graph.Graph at 0x7f0f706a1898>。该network.classes.graph.Graph部分表示该变量G包含 的一个实例network.classes.graph.Graph。该0x7f0f706a1898部分指示变量G在内存中的存储位置(尽管您可能不需要知道它的存储位置)。无论如何,有几种方法可以查看变量内部的内容G。如果你想要一个边缘列表,下面的代码可以告诉你:

list(G.edges(data=True))

编辑:针对您的评论,NetworkX 并非旨在可视化图表。这就是它在文档中所说的:

NetworkX provides basic functionality for visualizing graphs,
but its main goal is to enable graph analysis rather than perform graph visualization.
In the future, graph visualization functionality may be removed from NetworkX
or only available as an add-on package.

但是,它确实支持matplotlib. 一个示例实现可能如下(尽管您需要matplotlibpip第一个开始):

import matplotlib.pyplot as plt
nx.draw(G)
plt.show()

查看NetworkX 文档了解更多信息。


推荐阅读