NetworkX:基于节点颜色的颜色代码边

时间:2020-10-08 19:25:08

标签: python matplotlib networkx

我创建了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
               )

1 个答案:

答案 0 :(得分:0)

这是您的一个例子。如果节点不同,则边缘为红色;如果节点相同,则边缘为绿色。

imageContainerView

resulting graph