首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于属性的Networkx Edge Colormap

基于属性的Networkx Edge Colormap
EN

Stack Overflow用户
提问于 2020-12-16 00:27:15
回答 1查看 63关注 0票数 0

我有一个图,其中每条边(不是节点)都有一个容量和一个负载。我想用一个从蓝色到红色的渐变图来绘制这个图,红色是负载最多的,蓝色是负载最少的。我试图理解Edge Colormap的官方文档,但它对我没有帮助。你能帮帮我吗?

EN

回答 1

Stack Overflow用户

发布于 2020-12-16 02:23:09

关键是将edge_color设置为与edgelist重合的边序列,这两个关键字参数都是nx.draw_networkx。下面是一个使用pandasnetworkx的最小工作示例。

代码语言:javascript
复制
import networkx as nx
import pandas as pd

edge_df = pd.DataFrame({"source": [0, 1, 2],
                       "target": [1, 2, 0],
                       "capacity": [.1, .2, .3],
                       "load": [40, 20, 10]})

G = nx.from_pandas_edgelist(edge_df,
                            source="source",
                            target="target",
                            edge_attr=["capacity", "load"])

nx.draw_networkx(G,
                 edgelist=list(zip(edge_df['source'], edge_df['target'])),
                 edge_color=edge_df['capacity'],
                 edge_cmap=plt.cm.bwr)

应该会让你得到这样的东西:

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65309822

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档