我有一些来自脚本的节点,我想将它们映射到一个图上。在下面的示例中,我想使用箭头从A到D,并且可能也要对边进行颜色标记(红色或其他颜色)。
基本上,这就像是从A到D的路径,当存在所有其他节点时。你可以把每个节点想象成城市,在从A到D的旅程中需要方向指引(箭头头部)。
以下代码构建了该图
import networkx as nx
import numpy as np
import matplotlib.pyplot as plt
G = nx.Graph()
G.add_edges_from(
[('A', 'B'), ('A', 'C'), ('D', 'B'), ('E', 'C'), ('E', 'F'),
('B', 'H'), ('B', 'G'), ('B', 'F'), ('C', 'G')])
val_map = {'A': 1.0,
'D': 0.5714285714285714,
'H': 0.0}
values = [val_map.get(node, 0.25) for node in G.nodes()]
nx.draw(G, cmap = plt.get_cmap('jet'), node_color = values)
plt.show()
但我想要像图片中显示的那样。![enter image description here](https://istack.dev59.com/VW9yr.webp)
![enter image description here](https://istack.dev59.com/UEFdh.webp)
(C, E)
不是红色的,因为当我还在处理你的无向图时,我从G.edges()
返回的边中随机选择了边来作为red_edges
。应该是red_edges = [('A', 'C'), ('E', 'C')]
。 - Mariuscmap = plt.get_cmap('jet')
是什么意思?我之前已经发了问题,但是不清楚它的作用。 - brain storm