如何使用任何工具可视化 HeteroData pytorch 几何图?

par*_*nos 7 visualization networkx graph-visualization pytorch-geometric

您好,可视化 pyg HeteroData 对象的好方法是什么?(定义类似:https://pytorch-geometric.readthedocs.io/en/latest/notes/heterogeneous.html#creating-heterogeneous-gnns

我尝试使用networkx,但我认为它仅限于同构图(可以转换它,但信息量要少得多)。

g = torch_geometric.utils.to_networkx(data.to_homogeneous(), to_undirected=False )
Run Code Online (Sandbox Code Playgroud)

有人尝试用其他 python lib (matplotlib) 或 js (sigma.js/d3.js) 来做到这一点吗?

您可以分享任何文档链接吗?

Lau*_*ent -1

我做了以下事情:

import networkx as nx
from matplotlib import pyplot as plt
from torch_geometric.nn import to_hetero

g = torch_geometric.utils.to_networkx(data.to_homogeneous())
# Networkx seems to create extra nodes from our heterogeneous graph, so I remove them
isolated_nodes = [node for node in g.nodes() if g.out_degree(node) == 0]
[g.remove_node(i_n) for i_n in isolated_nodes]
# Plot the graph
nx.draw(g, with_labels=True)
plt.show()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

然而,它确实被“扁平化”为同质的,而例如,对不同类型的节点使用不同的颜色会更有趣。