【发布时间】:2013-04-12 18:51:47
【问题描述】:
我正在尝试导出带有一些可视化规范的图形文件。我不知道如何添加多级属性。
Import networkx as nx
#Create the Graph
g = nx.Graph()
g.add_edge('Andre', 'Beverly')
g.add_edge('Andre', 'Diane')
g.add_edge('Andre', 'Carol')
g.add_edge('Andre', 'Fernando')
g.add_edge('Beverly', 'Diane')
nx.draw(g)
为节点添加属性
我想做的是添加位置,但使用特定属性(名称和结构)
# compute position
pos = nx.spring_layout(g)
# add attribute
g.node["Andre"]["viz"]["position"]["x"]= pos["Andre"][0]
g.node["Andre"]["viz"]["position"]["y"]= pos["Andre"][1]
这不起作用
其实我有两个问题:
- 如何添加多级属性
- 有没有办法在迭代中做到这一点(我仍然可以写一个函数,但我想知道是否有办法从我没有见过的 networkx 做)
信息:我真正追求的是一种将网络图导出到 gexf 文件的方法,我可以用gexf-js 打开而不经过gephi.
P.S:我有 this question 和其他与此相关的信息,但据我所知,它们并没有解决我所追求的问题。
【问题讨论】: