python画AON图
时间: 2024-09-14 09:11:40 浏览: 140
在Python中,AON图通常指的是活动网络图(Activity on Node),它是项目管理中用来表示活动和事件之间关系的一种图形工具,属于项目进度网络图的一种表现形式。AON图强调的是活动之间的关系,并且活动是用节点表示的。在Python中绘制AON图可以使用多种库,比如`matplotlib`、`networkx`等来创建节点和边,并进行图形化展示。
以下是使用`networkx`和`matplotlib`库来绘制一个简单AON图的一个例子:
```python
import networkx as nx
import matplotlib.pyplot as plt
# 创建一个有向图
G = nx.DiGraph()
# 添加节点和边,节点表示活动,边表示活动之间的关系
G.add_node(1, start=True, end=False)
G.add_node(2, start=False, end=True)
G.add_node(3, start=False, end=False)
G.add_node(4, start=False, end=True)
G.add_edge(1, 2)
G.add_edge(1, 3)
G.add_edge(2, 4)
G.add_edge(3, 4)
# 绘制图形
pos = nx.spring_layout(G) # 设置节点布局
nx.draw(G, pos, with_labels=True, arrows=True, node_color='skyblue', node_size=1500, edge_color='black') # 绘制节点和边
# 显示图形
plt.show()
```
在这个示例中,我们首先导入了`networkx`和`matplotlib.pyplot`两个库。然后创建了一个有向图`G`,通过`add_node`方法添加了四个节点,并为每个节点设置了一个开始和结束的标志。接下来,我们通过`add_edge`方法添加了活动之间的边。最后,我们使用`nx.spring_layout`设置了一个布局,并用`nx.draw`方法绘制了图,并通过`plt.show()`显示了图形。
阅读全文