【问题标题】:How to position network edge label correctly in networkx?如何在 networkx 中正确定位网络边缘标签?
【发布时间】:2022-12-16 17:40:09
【问题描述】:

我试图创建一个图表,其中图表的每条边的权重 = 1,我想在每条边上显示它,但标签位置不正确我该如何修复?

lab = dict([((i, j), f'1') for i, j in gr.edges])
pos = nx.spring_layout(gr)

nx.draw_networkx(gr, with_labels=True, node_color='#7d99f5')
nx.draw_networkx_edge_labels(gr, pos, edge_labels = lab, label_pos=0.5)

这是我得到的输出

【问题讨论】:

  • 您也应该在 nx.draw_networkx() 中指定 pos=pos

标签: python graph networkx


【解决方案1】:

您只需将 pos 参数传递给 draw_networkx() 函数以及 draw_networkx_edge_labels() 函数。这确保在将标签和图形本身绘制到图中时使用相同的节点/边布局。

lab = dict([((i, j), '1') for i, j in gr.edges])
pos = nx.spring_layout(gr)

nx.draw_networkx(gr, pos, with_labels=True, node_color='#7d99f5')
nx.draw_networkx_edge_labels(gr, pos, edge_labels = lab, label_pos=0.5)

给出所需的输出:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-30
    • 2018-04-16
    • 2016-04-10
    • 2020-06-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多