如何从graphml文件导入组? (networkx - > cytoscape)

时间:2018-02-07 23:53:25

标签: networkx cytoscape

我正在尝试将networkx数据带入cytoscape。我正在使用graphml,那部分很好,但我有一个属性parent = node_name,我想建立一个组。我无法找到如何在cytoscape中映射这个。如何在cytoscape中自动创建组?

示例:

G = nx.Graph()
G.add_node("server1")
G.add_node("server1_port1", parent="server1")
G.add_node("server1_port2", parent="server1")
G.add_node("server2")
G.add_node("server2_port1", parent="server2)
G.add_node("server2_port2", parent="server2)
G.add_edge("server1_port1", "server2_port1")
nx.write_graphml(G, "output.graphml")

看起来应该是这样的:

+-----------------+
|    server1      |
|                 |
| {port1} {port2} |
|    ~            |
|    |            |
+----|------------+
     |
+----|------------+
|    server2      |
|    |            |
|    ~            |
| {port1} {port2} |
|                 |
+-----------------+

1 个答案:

答案 0 :(得分:0)

不幸的是,我们的GraphML阅读器不支持群组 - 我可以想办法半自动地做到这一点,但我不确定你想要什么。您需要做的是为每个节点添加一个属性(例如" parent"),然后使用该属性创建组(setsApp将帮助您完成此操作)。创建组后,使用“复合节点”可视化来获得所需的外观。

- 踏板车