如何修改 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 (将#修改为@)