乘风原创程序

  • python绘制网络关系图
  • 2021/2/23 9:49:54
  • import networkx as nx
    
    # 数据准备
    G = nx.DiGraph()  # 单边有向图
    
    G.add_edges_from([(1,2), ('x','y'), (2,3)...]) # 一次性添加多条边
    
    nx.draw(G)        # 简单画一下
    

    在这里插入图片描述

    改变样式

    一次性画:

    pos = nx.spring_layout(G)   # 中心放射状:spring_layout  圆上:circular_layout
    nx.draw(G, node_size=10, node_color='#80FFFF', alpha=0.5, pos=pos,
           with_labels=False, width=0.3, edge_color='#7B7B7B', # 标签、线条宽度、线条颜色、
           arrowsize=7, arrowstyle='->')
    

    分成:节点和线条画:

    pos = nx.spring_layout(G)
    # 画边缘
    nx.draw_networkx_edges(G, pos, alpha=0.1)
    # 画节点
    nx.draw_networkx_nodes(
        G,
        pos,
        node_size=50,
        vmin=-7,     # 颜色的最小值
        vmax=25,     # 颜色的最大值,让颜色处于最小值和最大值之前分配
        node_color=list(acm.values()),  # 颜色的程度[0,0,1,3,1,2,2,5...]
        cmap=plt.cm.Reds,
    )
    
    plt.axis("off");              # 去掉边框
    

    在这里插入图片描述

    更多样式请参考:
    1. NetworK-中文翻译
    2. 利用Python绘制精美网络关系图

    本文地址:https://blog.csdn.net/Caiqiudan/article/details/113991946