我想使用networkx
来绘制加权图。我使用graphviz_layout
生成顶点的位置。我希望在绘图中,边的长度与我使用的边权重成比例。以下是我用来实现这一目标的代码片段:
import networkx as nx
from networkx.drawing.nx_agraph import graphviz_layout
G = nx.Graph()
G.add_weighted_edges_from(edgelist)
pos = graphviz_layout(G)
nx.draw_networkx(G, pos=pos)
这似乎不会影响图中的边长。我看到过这篇帖子,但它只描述了如何向
graphviz_layout
传递所有边的单个默认权重(或者也许我没有理解这个解决方案)。我该如何更改我的代码片段以绘制边长与边权重成比例的图形?
在上面的代码片段中,
edgelist
是一个格式为列表的列表。edgelist = [[4, 219, 1.414], [4, 7, 3.86]]