2024-09-28 21:47:34 发布
网友
我想使用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')
但这两种都没有在细胞景观中看到。我不知道如何以包含位置的格式传输图形。
只是为了
nx.__version__ '2.3' nx.set_node_attributes(G, {n: {'x': p[0], 'y': p[1]}}, 'graphics')
参数位置错误。。。
你的g.xml图形文件看起来很好,并且为我加载到Cytoscape中(我在Mac上)。你安装了graphmlreader插件了吗?
g.xml
如果没有,请下载它并将其放入plugins文件夹,然后重新启动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')
结果:
只是为了
参数位置错误。。。
你的
g.xml
图形文件看起来很好,并且为我加载到Cytoscape中(我在Mac上)。你安装了graphmlreader插件了吗?如果没有,请下载它并将其放入plugins文件夹,然后重新启动Cytoscape并再次尝试加载
g.xml
网络。更新下面是一些代码,用于将图形的外观和定位添加到networkx图形中。它有点冗长,您可以根据需要省略一些属性:
结果:
相关问题 更多 >
编程相关推荐