Python 如何舍入与networkx图形中的边标签对应的值?

Python 如何舍入与networkx图形中的边标签对应的值?,python,networkx,Python,Networkx,我正在networkx中绘制一个无向加权图,并希望标记每条边 与之相对应的重量。我能够做到这一点,但我在舍入边缘标签值时遇到了问题,因此生成的图不会太混乱 我们假设我已经创建了邻接矩阵A,labels_dict是一个字典,它的值是每个节点的文本标签,例如“T8-P8” import networkx as nx G=nx.from_numpy_matrix(A) pos=nx.spring_layout(G) nx.draw_networkx_nodes(G,pos,nodelist=[j fo

我正在networkx中绘制一个无向加权图,并希望标记每条边 与之相对应的重量。我能够做到这一点,但我在舍入边缘标签值时遇到了问题,因此生成的图不会太混乱

我们假设我已经创建了邻接矩阵A,labels_dict是一个字典,它的值是每个节点的文本标签,例如“T8-P8”

import networkx as nx
G=nx.from_numpy_matrix(A)
pos=nx.spring_layout(G)
nx.draw_networkx_nodes(G,pos,nodelist=[j for j in 
range(0,len(A))],node_color='gray',node_size=1000,ax=None,alpha=0.8)
nx.draw_networkx_labels(G,pos,labels_dict,font_size=17)
nx.draw_networkx_edges(G,pos,width=1.0,alpha=0.5)

# below I attempt to round off the edge label values to 2 decimal places using numpy's "around" function.
edge_labels=dict([((u,v,),np.around(d['weight'],2))
for u,v,d in G.edges(data=True)])
nx.draw_networkx_edge_labels(G,pos,edge_labels=edge_labels)
ax=plt
ax.axis('off')
fig = ax.gcf()
plt.show()
生成的图形如下所示,显示了边缘标签如何未被舍入:


将标签作为字符串(而不是浮动)传入,并使用以下内容进行字符串格式设置:

我从来没有像你那样尝试过。不

edge_labels = dict([((u,v,), f"{d['weight']:.2f}") for u,v,d in G.edges(data=True)])