在输入一个网络G的相关的边点以及其对应的性质,想画其中部分的边点,只需调整nx.draw()里面的nodelist以及edgelist参数: nodelist = 子图的顶点集的list, edgelist = 子图边的list。如果想调整子图中顶点的大小以及边的粗细,请注意修改对应的node_size和width参数(主要是要两者list的长度和边数和点数对应)。
nodelist的优先级高于edgelist,就是说如果edgelist包含边有不在nodelist的点存在,则会出现对应边只有一个顶点的情况。例子如下
原图:
import matplotlib.pyplot as plt
import networkx as nx
G = nx.Graph()
G.add_nodes_from([("01", {'size': 100}), ("02", {'size': 200}), ("03", {'size': 300})])
G.add_weighted_edges_from([('01','02',0.8), ('02','03',0.9), ('01','03',0.5)])
node_i = [v for v in G.nodes()]
nodeSize = [G.nodes[i]['size'] for i in node_i]
edge_i = [v for v in G.edges()]
edgeWeig = [G.edges[i]['weight'] for i in edge_i]
nx.draw(G, with_labels=True, font_weight='bold', node_size = nodeSiz