networkx设置节点的大小_NetworkX:如何将节点坐标指定为属性?
时间: 2024-03-01 10:53:58 浏览: 42
要将节点坐标指定为属性,可以使用 `set_node_attributes` 函数。假设你已经有了一个 Graph 对象 `G`,其中包含节点的坐标信息,可以按照以下代码进行操作:
```python
import networkx as nx
# 假设你有一个包含节点坐标信息的字典 pos
pos = {0: (0, 0), 1: (1, 1), 2: (2, 2)}
# 将节点坐标信息添加到节点属性中
nx.set_node_attributes(G, pos, 'pos')
```
这样,你就可以通过 `G.nodes[n]['pos']` 访问每个节点的坐标信息。
要设置节点的大小,可以使用 `draw_networkx_nodes` 函数的 `node_size` 参数。例如,要将所有节点的大小设置为 `100`,可以按照以下代码进行操作:
```python
import matplotlib.pyplot as plt
# 绘制图形
nx.draw(G, pos)
# 设置节点的大小
node_size = 100
nx.draw_networkx_nodes(G, pos, node_size=node_size)
# 显示图形
plt.show()
```
如果你想根据节点的属性来设置节点的大小,可以在调用 `draw_networkx_nodes` 函数时指定 `node_size` 参数为一个属性列表,例如:
```python
# 假设节点的大小信息保存在节点属性 'size' 中
node_size = [G.nodes[n]['size'] for n in G.nodes()]
# 绘制图形
nx.draw(G, pos)
# 根据节点大小信息设置节点的大小
nx.draw_networkx_nodes(G, pos, node_size=node_size)
# 显示图形
plt.show()
```
这样,每个节点的大小将根据其 'size' 属性的值进行设置。