在NetworkX中绘制两个不同位置的图形

时间:2016-02-04 15:38:12

标签: python graph networkx

我想使用Networkx在不同位置绘制两个不同的图形,例如。画布左侧的G1和右侧的G2,但我不知道该怎么做,这是我的代码:

import networkx as nx
import matplotlib.pyplot as plt

import socialModels as sm
G1 = sm.nearestNeighbor_mod(256, 0.6, 1)
G2 = sm.nearestNeighbor_mod(256, 0.6, 1)
elarge1 =[(u,v) for (u,v,d) in G1.edges(data=True)]
elarge2 =[(u,v) for (u,v,d) in G2.edges(data=True)]

pos1=nx.spring_layout(G1)
pos2=nx.spring_layout(G2)
nx.draw_networkx_nodes(G1,pos1,node_size=30,node_color='b')
nx.draw_networkx_edges(G1,pos1,edgelist=elarge1,width=1,style='solid')


nx.draw_networkx_nodes(G2,pos2,node_size=50)
nx.draw_networkx_edges(G2,pos2,edgelist=elarge2,width=1)


nx.write_graphml(G1,'test.graphml')
plt.show() # display
plt.draw();

1 个答案:

答案 0 :(得分:1)

如何将pos2中的位置移动到所需的值?

一个工作的例子是

FileWriter

你可以通过评估图一或二中的位置并计算你想要的班次来考虑一个很好的转移价值......