如何在 networkx 图上定义属性以将其导出到 gephi 即形状

How to define attribute on networkx graph to export it to gephi viz shape

我正在尝试创建与默认形状不同的节点和边(节点为圆盘,边为实体)。

我对颜色使用了 viz 属性并且它有效,但我对形状没有成功。以下是我使用的代码的一些示例:

import networkx as nx

G=nx.MultiDiGraph()
G.add_nodes_from([1,2,3])
attr={1:{'viz':{'shape':'square'}}, 2:{'viz':{'shape':'disc'}}, 3:{'viz':{'shape':'diamond', 'color':{'r': 178, 'g': 34, 'b': 34, 'a': 0}}}}
nx.set_node_attributes(G, attr)

G.add_edge(1,2, id='ID1', Label='L', viz={'shape':'dashed', 'color':{'r': 178, 'g': 34, 'b': 34, 'a': 0}})
G.add_edge(2,3, id='ID2', label='l')

nx.write_gexf(G, 'g_test_shape' +'.gexf')

我无法在 networkx 图上定义边标签。

看来是不行了。这是我在 Gephi 论坛上找到的:

Gephi does not support other shapes than circles for the moment.

答案来自 2018 年。

此致,

这就是解决方案。 根本不是 pythonic,但它有效。您需要在 Gephi 中安装一个插件,并为多边形的边添加一个带有 int 的 col:

https://gephi.org/plugins/#/plugin/polygon-shaped-nodes