networkx绘制拓扑图节点的边和权,Python

x33g5p2x  于2021-11-11 转载在 Python  
字(0.9k)|赞(0)|评价(0)|浏览(292)
import networkx as nx
import matplotlib.pyplot as plt

def my_graph():
    G = nx.cubical_graph()
    pos = nx.spring_layout(G)

    options = {"node_size": 400, "alpha": 0.8}
    nx.draw_networkx_nodes(G, pos,
                           nodelist=[0, 1, 2, 3],
                           node_color="r",
                           **options)
    nx.draw_networkx_nodes(G, pos,
                           nodelist=[4, 5, 6, 7],
                           node_color="b",
                           **options)
    nx.draw_networkx_edges(G, pos,
                           width=2.0,
                           alpha=0.5)
    nx.draw_networkx_edges(G, pos,
                           edgelist=[(0, 1), (1, 2), (2, 3), (3, 0)],
                           width=5,
                           alpha=0.5,
                           edge_color="r")

    nx.draw_networkx_edges(G, pos,
                           edgelist=[(4, 5), (5, 6), (6, 7), (7, 4)],
                           width=8,
                           alpha=0.5,
                           edge_color="g")

    labels = {}
    labels[0] = r"a"
    labels[1] = r"b"
    labels[2] = r"c"
    labels[3] = r"d"
    labels[4] = r"AA"
    labels[5] = r"BB"
    labels[6] = r"CC"
    labels[7] = r"DD"

    nx.draw_networkx_labels(G, pos,
                            labels,
                            font_size=15)

    plt.axis("off")
    plt.show()

输出:

相关文章