微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何修改 networkx 有向图的外观并向边添加权重

如何解决如何修改 networkx 有向图的外观并向边添加权重

我有以下代码

import networkx as nx
import pandas as pd
import matplotlib.pyplot as plt
import scipy
g=nx.DiGraph()

    firstMonth = pd.read_csv('firstMonthPairs.csv')
    
    for i in range(len(firstMonth)):
        #print(firstMonth["Zip1"][i],",firstMonth["Zip2"][i])
        g.add_edge(int(firstMonth["Zip1"][i]),int(firstMonth["Zip2"][i]))
    pos = nx.spring_layout(g)
    nx.draw_networkx_nodes(g,pos,cmap=plt.get_cmap('jet'),node_size = 100)
    nx.draw_networkx_edges(g,arrows=True)
    nx.draw_networkx_labels(g,pos)
    plt.show()

结果至少可以说是一团糟(这只是整个图表的一部分)

The result

我拥有的是成对出现在 csv 文件中的一堆邮政编码。我想做一个有向图,但它看起来不像我预期的那样。有没有办法改变字体?或者有更好的方法让它总体上看起来更好?而且我一直环顾四周,无法得到答案。如果我想打印边缘之间的重量(它是同一个 csv 文件中的另一个属性 (zip1,zip2,weight)),我该怎么做?假设 x -> y 的权重为 23。我从另一篇文章中获得了一些代码,因此任何建议都会很棒。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。