hig*_*dth 11 python gml graph-layout networkx cytoscape
我想使用networkx为图形生成布局.是否可以将此布局转移到cytoscape并将其绘制到那里?我试着简单地写一个图表
import networkx as nx
G = nx.Graph()
G.add_edge(0,1,weight=.1)
G.add_edge(2,1,weight=.2)
nx.write_gml(G,'g.gml')
nx.write_graphml(G,'g.xml')
Run Code Online (Sandbox Code Playgroud)
但这些都不是在cytoscape中读取的.我不确定如何以包含位置的格式传输图表.
sam*_*ias 13
您的g.xml
GraphML文件看起来不错,并为我加载到Cytoscape(我在Mac上).你安装了graphmlreader插件吗?
如果没有,请下载并将其放入插件文件夹,然后重新启动Cytoscape并g.xml
再次尝试加载网络.
更新下面是一些代码,用于将图形外观和定位添加到networkx图形中.它有点冗长,您可以根据需要省略一些属性:
import networkx as nx
G = nx.Graph()
G.add_edge(0, 1, weight=0.1, label='edge', graphics={
'width': 1.0, 'fill': '"#0000ff"', 'type': '"line"', 'Line': [],
'source_arrow': 0, 'target_arrow': 0})
nx.set_node_attributes(G, 'graphics', {
0: {'x': -85.0, 'y': -97.0, 'w': 20.0, 'h': 20.0,
'type': '"ellipse"', 'fill': '"#889999"', 'outline': '"#666666"',
'outline_width': 1.0},
1: {'x': -16.0, 'y': -1.0, 'w': 40.0, 'h': 40.0,
'type': '"ellipse"', 'fill': '"#ff9999"', 'outline': '"#666666"',
'outline_width': 1.0}
})
nx.set_node_attributes(G, 'label', {0: "0", 1: "1"})
nx.write_gml(G, 'network.gml')
Run Code Online (Sandbox Code Playgroud)
结果:
归档时间: |
|
查看次数: |
5861 次 |
最近记录: |