Networkx图与网络工具包

1.Networkx是什么?
简单说一下,Networkx是一个构建网络和图的工具包,可以求解最短路问题,也可以求最大流,还可以专门用来画精美的网络图。这里我主要讲下Networkx构建图时,怎么用csv文件导入数据构建有权重的图。
2.构建一个图

from __future__ import print_function
import networkx as nx
import matplotlib.pyplot as plt
import csv

# 定义一个图
G = nx.Graph()

# 将边转换为元组!(u,v,w)均为数字,csv文件为三列,两列为起点和终点,第三列为权重。
f = open('文件路径.csv', 'r')
csv_reader = csv.reader(f)
font_weight = tuple(csv_reader)
# 将权重添加到边上
G.add_weighted_edges_from(font_weight)

# 另一种添加权重的方式
G = nx.read_weighted_edgelist('E:/Python-code/node_weight.edgelist')
其中node_weight.edgelist文件为
1	2	0.6
1	3	0.2
3	4	0.1
3	5	0.7
3	6	0.9
1	4	0.3
第一列为start,第二列为end,第三列为两点之间距离weight。

3.绘制一个图

# 画图,spring_layout是个布局方式,node_size是节点大小,with_lable是否显示图的标签。
nx.draw(G, pos=nx.spring_layout(G),  node_size=80, with_labels=True, color='black&#
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值