我创建了networkX加权图(有关代码,请参见this question),我想根据节点颜色对边缘进行颜色编码。如果两个节点的颜色相同且已连接,我希望它们的边缘颜色为一种颜色,例如红色。而且,如果节点的颜色不是相同而是连接的,我希望它们是不同的颜色,例如蓝色。我有办法实现这一目标吗?
边缘的代码如下:
for edge in G.edges():
source, target = edge
rad = 0.35
arrowprops=dict(lw=G.edges[(source,target)]['weight'],
arrowstyle="-",
color='blue',
connectionstyle=f"arc3,rad={rad}",
linestyle= '-',
alpha=0.6)
ax.annotate("",
xy=pos[source],
xytext=pos[target],
arrowprops=arrowprops
)