如何在 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:
我正在尝试创建与默认形状不同的节点和边(节点为圆盘,边为实体)。
我对颜色使用了 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: