nx.draw_networkx_nodes(G, pos, node_size=600, node_color="#034b61")
时间: 2023-11-13 17:04:01 浏览: 256
这行代码是用来绘制图 G 中的节点,节点的大小为 600,颜色为 "#034b61"。pos 是一个字典,用来存储每个节点的位置信息。具体实现可以参考 NetworkX 官方文档中的 draw_networkx_nodes 函数说明:https://networkx.github.io/documentation/stable/reference/generated/networkx.drawing.nx_pylab.draw_networkx_nodes.html
相关问题
nx.draw_networkx_nodes(G, pos, node_color='lightblue', node_size=1000) nx.draw_networkx_edges(G, pos, edge_color='gray', arrows=True) nx.draw_networkx_labels(G, pos, font_size=10, font_family='SimHei')#防止中文乱码 plt.show()
这是一段 Python 代码,使用 NetworkX 库来画图。代码中使用了三个函数:
1. `nx.draw_networkx_nodes` 用于画节点,其中 `G` 是图对象,`pos` 是节点的位值,`node_color` 是节点的颜色,`node_size` 是节点的大小。
2. `nx.draw_networkx_edges` 用于画边,其中 `edge_color` 是边的颜色,`arrows` 决定了是否画出有向边的箭头。
3. `nx.draw_networkx_labels` 用于画节点标签,其中 `font_size` 是标签的字体大小,`font_family` 是标签的字体名称。
import matplotlib.pyplot as plt# 将图形绘制成一个圆形布局pos = nx.circular_layout(G)# 绘制图形的节点和边nx.draw_networkx_nodes(G, pos)nx.draw_networkx_edges(G, pos)# 添加节点标签node_labels = {node: str(node) for node in G.nodes()}nx.draw_networkx_labels(G, pos, node_labels)# 添加边权重标签edge_labels = {(u, v): str(d['weight']) for u, v, d in G.edges(data=True)}nx.draw_networkx_edge_labels(G, pos, edge_labels)# 显示图形plt.show() 修改代码,将图形绘制成一个矩形布局
要将图形绘制成一个矩形布局,可以使用 `nx.spring_layout()` 或者 `nx.spectral_layout()` 方法来生成矩形布局。以下是使用 `nx.spring_layout()` 方法的示例代码:
```python
import matplotlib.pyplot as plt
import networkx as nx
# 创建一个图形对象
G = nx.Graph()
# 添加节点和边
G.add_edges_from([(1, 2), (1, 3), (2, 3), (2, 4), (3, 4), (4, 5), (5, 6)])
# 生成矩形布局
pos = nx.spring_layout(G, k=0.5, iterations=50)
# 绘制图形的节点和边
nx.draw_networkx_nodes(G, pos)
nx.draw_networkx_edges(G, pos)
# 添加节点标签
node_labels = {node: str(node) for node in G.nodes()}
nx.draw_networkx_labels(G, pos, node_labels)
# 添加边权重标签
edge_labels = {(u, v): str(d['weight']) for u, v, d in G.edges(data=True)}
nx.draw_networkx_edge_labels(G, pos, edge_labels)
# 显示图形
plt.show()
```
其中,`nx.spring_layout()` 方法中的 `k` 参数控制节点之间的距离,`iterations` 参数控制迭代次数。你也可以尝试使用 `nx.spectral_layout()` 方法生成矩形布局。
阅读全文