我有一个相当大的网络(34594节点和3897个边)。我用Python创建了一个Networkx网络,并根据节点的标签给节点一个颜色。该标签根据起始字母将节点链接到5个国家。在Python中,这一切都做得很好,但出于可视化目的,我导出了这个文件(.gexf),以便在Gephi中打开它。然而,当我再次打开它,它不再有颜色了。有一个插件(给节点颜色),但是,似乎我必须手动更改颜色,每个节点。您可以导入我最初想要做的电子表格,并将其用作某种类型的查找表。但是,这是不可能的,您只能从那里导入节点,但是这些节点没有链接到网络。
有没有人对如何解决这个问题有深刻的见解?
发布于 2022-03-30 14:37:39
由于您使用的是networkx,我将提出一个非常简单的脚本,它将所有节点和颜色都以蓝色形式迭代。
import networkx as nx
# Construct a simple line graph
G = nx.path_graph(4)
for v in nx.nodes(G):
# Set the viz attribute for each node
G.nodes[v]["viz"] = {}
# Set the color to blue
G.nodes[v]["viz"]["color"] = {"a":0, "r": 0, "g": 0, "b": 255}
# output a sample graph
nx.write_gexf(G, 'test.gexf')行G.nodes[v]["viz"] = {},需要将viz字典添加到每个节点,然后添加每个节点的ARGB值。在本例中,a=0和RGB=(0,0,255),或者简单地说,蓝色。
该脚本基于networkx文档,并进行了一些小的更改。添加颜色也是可能的,通过调整nx.setNodeAttibutes,如这里所示。只是GEXF格式需要viz属性,然后需要相应的color。
https://stackoverflow.com/questions/71637759
复制相似问题