NetworkX绘制大规模节点二分图布局混乱问题求助
二分图布局混乱问题求助
我使用NetworkX创建二分图,节点数量较少时显示正常,但节点数量增多后布局出现混乱。我通过自定义代码设置节点位置,以NODE_SIZE控制间距,但效果不符合预期;参考相关Stack Overflow帖子后仍未解决问题。后续尝试使用netgraph库的二分图布局,调整节点大小等参数后依旧存在布局问题,现寻求可行解决方案。
相关效果说明:
- 30节点效果:布局规整,节点无重叠
- 多节点效果:节点重叠严重,布局混乱
- netgraph尝试效果:布局仍存在节点排列不合理的问题
核心代码
自定义位置代码
pos = {} pos[SOURCE_STRING] = (0, width/2) row = 0 for arr in left_side.keys(): pos[str(arr).replace(" ","")]=(NODE_SIZE, row) row += NODE_SIZE row = 0 for arr in right_side.keys(): pos[str(arr).replace(" ","")]=(2*NODE_SIZE,row) row += NODE_SIZE pos[SINK_STRING] = (3*NODE_SIZE, width/2) return pos
NetworkX绘图代码
G = nx.DiGraph() G.add_nodes_from(nodes) G.add_edges_from(edges, len=1) nx.draw(G, pos=pos ,node_shape = "s", with_labels = True,node_size=NODE_SIZE)
netgraph尝试代码
netgraph.Graph(edges, node_layout='bipartite', node_labels=True) plt.show()
内容的提问来源于stack exchange,提问作者linuxbeginner
相关产品推荐
相关产品推荐

