Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Màu cạnh (edge color) theo trọng số trong NetworkX (Matplotlib)


Các bước

  1. Thiết lập kích thước hình và padding.
  2. Khởi tạo đồ thị có hướng.
  3. Thêm nút (nodes).
  4. Thêm cạnh (edges).
  5. Duyệt các cạnh và gán trọng số ngẫu nhiên.
  6. Vẽ đồ thị với edge_color=weights.
  7. Gọi show().

Ví dụ

import random as rd
import matplotlib.pylab as plt
import networkx as nx

plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

G = nx.DiGraph()
G.add_nodes_from([1, 2, 3, 4])
G.add_edges_from([(1, 2), (2, 3), (3, 4), (4, 1), (1, 3)])
for u, v, d in G.edges(data=True):
    d['weight'] = rd.random()
edges, weights = zip(*nx.get_edge_attributes(G, 'weight').items())
nx.draw(G, node_color='b', edge_color=weights, width=2, with_labels=True)
plt.show()

Kết quả

Màu cạnh (edge color) theo trọng số trong NetworkX (Matplotlib)