python中nx.Graph()
时间: 2024-06-11 13:05:53 浏览: 115
Python库 | nx_graph-0.0.1.tar.gz
nx.Graph()是NetworkX中的一个类,用于创建一个无向图。它是NetworkX的基础数据结构,用于存储节点和边,可以进行各种图形操作,如添加节点和边、删除节点和边、遍历节点和边、计算图形的各种度量等。
创建一个无向图可以使用以下方式:
```python
import networkx as nx
G = nx.Graph()
```
这将创建一个名为G的空无向图。可以使用add_node()和add_edge()方法向图中添加节点和边,如下所示:
```python
G.add_node(1) # 添加节点1
G.add_nodes_from([2, 3, 4]) # 添加节点2, 3, 4
G.add_edge(1, 2) # 添加边(1, 2)
G.add_edges_from([(1, 3), (2, 4)]) # 添加边(1, 3)和边(2, 4)
```
这将创建一个包含4个节点和3条边的无向图。可以使用nodes()和edges()方法遍历节点和边:
```python
print(list(G.nodes())) # 打印节点
print(list(G.edges())) # 打印边
```
输出为:
```
[1, 2, 3, 4]
[(1, 2), (1, 3), (2, 4)]
```
可以使用remove_node()和remove_edge()方法删除节点和边。例如,删除节点1和边(1, 2):
```python
G.remove_node(1) # 删除节点1
G.remove_edge(1, 2) # 删除边(1, 2)
```
这将删除节点1和边(1, 2),并更新图形。可以使用degree()方法计算节点的度数:
```python
print(G.degree(2)) # 输出节点2的度数
```
输出为:
```
2
```
这表示节点2有2个邻居节点。除了nx.Graph(),NetworkX还提供了其他类型的图,如有向图、多重图等。可以根据需要选择不同的图类型。
阅读全文