如何在networkx中绘制非重叠边标签?

时间:2016-01-06 10:17:43

标签: python matplotlib networkx springlayout

如何在networkx中绘制非重叠边缘标签?使用选项scale看起来更好,但边缘标签仍然重叠,例如

enter image description here

相关的源代码如下:

# build a graph
G.add_edge(u, v, r=value)

# plot the graph
pos = nx.spring_layout(G, scale=3)

nx.draw(G, pos)

edge_labels = nx.get_edge_attributes(G,'r')
nx.draw_networkx_edge_labels(G, pos, edge_labels = edge_labels)

plt.savefig(filename)

1 个答案:

答案 0 :(得分:3)

这是spring_layout的documentation。其中一个参数是k

  

k(float(默认=无)) - 节点之间的最佳距离。如果为None,则距离设置为1 / sqrt(n),其中n是节点数。增加此值可以将节点移动得更远。

请拨打spring_layout k=5/math.sqrt(G.order())或其他会增加距离的值。