Products
GG网络技术分享 2025-11-12 22:13 2
为了绘制双代号网络图,我们Neng用Python的networkx库和matplotlib库来实现。
python import networkx as nx import matplotlib.pyplot as plt

activities = { 'A1': {'start': 'A', 'end': '1', 'duration': 2}, 'B2': {'start': 'B', 'end': '2', 'duration': 3}, 'D4': {'start': 'D', 'end': '4', 'duration': 4}, 'E5': {'start': 'E', 'end': '5', 'duration': 5}, 'F7': {'start': 'F', 'end': '7', 'duration': 7}, 'H6': {'start': 'H', 'end': '6', 'duration': 6}, 'C5': {'start': 'C', 'end': '5', 'duration': 5}, '七国': {'start': 'G', 'end': '7', 'duration': 7}, 'E1': {'start': 'E', 'end': '1', 'duration': 1}, }
G = nx.DiGraph
for activity in activities.values: G.addnode for node in G.nodes: if node.startswith: G.addedge
pos = nx.springlayout # 指定布局方式 nx.draw edgelabels = nx.getedgeattributes nx.drawnetworkxedge_labels
plt.show
这段代码先说说定义了一个包含活动信息的字典,然后创建了一个有向图G。对于个个活动,我们添加了两个节点,并添加了从起始事件到收尾事件的边,边的权沉代表工期。
然后我们用spring_layout布局来布局节点,并用draw函数来绘制网络图。我们还添加了边的标签,kan得出来了每条边的权沉。
请注意,为了运行这段代码,你需要有networkx和matplotlib库。Ru果没有安装,Neng用以下命令进行安装:
bash
pip install networkx matplotlib
Demand feedback