python – 基于权重着色networkx边缘

python – 基于权重着色networkx边缘,第1张

概述如何根据这些边的权重更改networkx中图形中边的颜色? 以下代码仅提供所有黑色边缘,即使色彩图是喷射的! nx.draw_networkx(g,pos=pos,with_labels=True,edge_colors=[g[a][b]['weight'] for a,b in g.edges()], width=4,edge_cmap = plt.cm.jet) 将边权重缩放到0到1之间不会改 如何根据这些边的权重更改networkx中图形中边的颜色?

以下代码仅提供所有黑色边缘,即使色彩图是喷射的!

nx.draw_networkx(g,pos=pos,with_labels=True,edge_colors=[g[a][b]['weight'] for a,b in g.edges()],wIDth=4,edge_cmap = plt.cm.jet)

将边权重缩放到0到1之间不会改变任何东西.

我不确定上面的代码与related question中的代码有什么不同,除了我没有为draw_networkx使用循环,因为我没有为图形设置动画.

解决方法
#!/usr/bin/env python    """    Draw a graph with matplotlib.    You must have matplotlib for this to work.    """    try:        import matplotlib.pyplot as plt        import matplotlib.colors as colors        import matplotlib.cm as cmx        import numpy as np   except:        raise    import networkx as nx   G=nx.path_graph(8)  #Number of edges is 7   values = range(7)  # These values Could be seen as dummy edge weights   jet = cm = plt.get_cmap('jet')    cnorm  = colors.normalize(vmin=0,vmax=values[-1])   scalarMap = cmx.ScalarMappable(norm=cnorm,cmap=jet)   colorList = []   for i in range(7):      colorVal = scalarMap.to_rgba(values[i])      colorList.append(colorVal)   nx.draw(G,edge_color=colorList)   plt.savefig("simple_path.png") # save as png   plt.show() # display

刚刚修改了networkx中的一个示例代码,该代码绘制了一个简单的图形.

总结

以上是内存溢出为你收集整理的python – 基于权重着色networkx边缘全部内容,希望文章能够帮你解决python – 基于权重着色networkx边缘所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1205124.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存