networkx节点node样式style定制化,Python
  TEZNKK3IfmPf 2023年11月14日 55 0

networkx节点node样式style定制化,Python

import networkx as nx
from matplotlib import pyplot as plt

KEY = 'key'


def app():
    G = nx.DiGraph()
    plt.figure(figsize=(12, 10), dpi=100)

    G.add_node(G.number_of_nodes())
    G.add_node(G.number_of_nodes())
    G.add_node(G.number_of_nodes())

    G.nodes[0][KEY] = [(90, 1), (80, 2), (70, 3)]
    G.nodes[1][KEY] = [(91, 1), (81, 2), (71, 3)]
    G.nodes[2][KEY] = [(92, 1), (82, 2), (72, 3)]

    print(G.nodes(data=True))

    pos = nx.spring_layout(G)

    labels = {}
    for i in range(G.number_of_nodes()):
        ls = G.nodes[i][KEY]
        s = str(i) + '\n' + tuplelist2str(ls)
        labels.__setitem__(i, s)

    nx.draw_networkx_nodes(G, pos=pos,
                           node_color='red',
                           node_size=2000,
                           node_shape='s')

    label_options = {"ec": "black", "fc": "white", "alpha": 0.7}
    nx.draw_networkx_labels(G, pos=pos,
                            labels=labels,
                            font_size=8,
                            font_color='blue',
                            bbox=label_options)

    plt.margins(0.1)
    plt.axis('off')
    plt.show()


def tuplelist2str(tl):
    s = ''
    for t in tl:
        s = s + '(' + str(t[0]) + ',' + str(t[1]) + ')'
    return s


if __name__ == '__main__':
    app()

 

输出:

networkx节点node样式style定制化,Python

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月14日 0

暂无评论

推荐阅读
  TEZNKK3IfmPf   2024年05月31日   34   0   0 python开发语言
  TEZNKK3IfmPf   2024年05月31日   27   0   0 python
  TEZNKK3IfmPf   2024年05月31日   28   0   0 python
TEZNKK3IfmPf