Python 如何在networkx图形上定义属性以将其导出为gephi viz形状

Python 如何在networkx图形上定义属性以将其导出为gephi viz形状,python,networkx,gephi,Python,Networkx,Gephi,我正在尝试创建与默认形状不同的节点和边(节点为圆盘,边为实体) 我对颜色使用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'

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

我对颜色使用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目前不支持圆以外的其他形状

答案是从2018年开始

关于,这是解决方案。 一点也不象蟒蛇,但它很管用。您需要在Gephi中安装一个插件,并为多边形的边添加一个带int的col:


可能已停止使用
形状
,但有一种方法可以使用
多边形形状节点
插件显示多边形。钻石不会完全相同,但这可能是某种解决方案欢迎使用Stack Overflow!虽然此链接可以回答问题,但最好在此处包含答案的基本部分,并提供链接供参考。如果链接页面发生更改,则仅链接的答案可能无效-