networkx中ax用法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了networkx中ax用法相关的知识,希望对你有一定的参考价值。
参考技术A :⼀、建⽴图或⽹络
1、⽆向图
在PythonWin 的Shell⾥输⼊:
import networkx as nx #导⼊NetworkX包,为了少打⼏个字母,将其重命名为nx
G = nx.Graph() #建⽴⼀个空的⽆向图G
G.add_node(1) #添加⼀个节点1
第 1 页
G.add_edge(2,3) #添加⼀条边2-3(隐含着添加了两个节点2、3)
G.add_edge(3,2) #对于⽆向图,边3-2与边2-3被认为是⼀条边
print G.nodes() #输出全部的节点: [1, 2, 3]
print G.edges() #输出全部的边:[(2, 3)]
print G.number_of_edges() #输出边的数量:1
这样就可以建⽴⼀个简单的⽆向图了。如果你的数据是存在⽂件⾥的,可以循环从⽂件中读取节点和边添加到G中。
第 2 页
2、有向图
有向图的建⽴⽅式和⽆向图基本类似,只是在上述代码的第⼆⾏,将G = nx.Graph() 改为 G = nx.DiGraph() 。需要注意的是,此时再添加边3-2与边2-3,则被认为是两条不同的边(可以试着运⾏上述代码,⾃⼰查看结果)。
同时,有向图和⽆向图是可以相互转化的,分别⽤到Graph.to_undirected() 和 Graph.to_directed()两个⽅法。
3、加权图(⽹络)
有向图和⽆向图都可以给边赋予权重,⽤到的⽅法是add_weighted_edges_from,它接受1个或多个三元组[u,v,w]作为参数,其中u是起点,v是终点,w是权重。例如:
第 3 页
G.add_weighted_edges_from([(0,1,3.0),(1,2,7.5)])
添加0-1和1-2两条边,权重分别是3.0和7.5。
如果想读取权重,可以使⽤get_edge_data⽅法,它接受两个参数u和v,即边的起讫点。例如:
print G.get_edge_data(1,2) #输出'weight': 7.5,这是⼀个字典结构,可以查看python语法了解它的⽤法。
⼆、调⽤图算法
NetworkX提供了常⽤的图论经典算法,例如DFS、BFS、最短路、最⼩⽣成树、最⼤流等等,⾮常丰富,如果不做复杂⽹络,只作
第 4 页
图论⽅⾯的⼯作,也可以应⽤NetworkX作为基本的开发包。具体的算法调⽤⽅法我就不⼀⼀介绍了,可以浏览NX 的在线⼿册http://networkx.lanl.gov/reference/algorithms.html,对每个算法都提供了详细的帮助⽂档和⽰例。下⾯只给出⼀个最短路算法的例⼦:
path=nx.all_pairs_shortest_path(G) #调⽤多源最短路径算法,计算图G所有节点间的最短路径
print path[0][2] #输出节点0、2之间的最短路径序列: [0, 1, 2]
三、⼩结
作为NetworkX学习笔记的第⼀部分,今天先简单介绍下NetworkX的安装与基本使⽤⽅法。后边有时间会陆续介绍:⽤NetworkX进
第 5 页
⾏复杂⽹络拓扑结构统计指标计算、典型复杂⽹络建模(随机图、⼩世界、⽆标度等)以及复杂⽹络可视化的⽅法等,请感兴趣的朋友关注并提出批评与意见。
第 6 页
百度文库
搜索
networkx中ax用法
展开全文
APP打开
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
相关文档
NetworkX
networkx_tutorial
NetworkX提供了4种常见网络的建模方法,分别是:规则...
Network fax
Network (
python调试:pdb基本用法(转)
348人正在看
C语言中#define的用法(转)
499人正在看
To_Date函数用法(转)
6957人正在看
java8中lambda的用法(map转list,list转map等等)
1064人正在看
查看更多
为您精选
NetworkX的基本用法(转)
会员文档594篇
人气好文
NetworkX
3701人阅读
networkx_tutorial
1497人阅读
热门TOP
NetworkX提供了4种常见网络的建模方法,分别是:规则...
1238人阅读
Network fax
2105人阅读
立即开通VIP
基于你的浏览为你整理资料合集
networkx中ax用法
文件夹
Python-NetworkX安装和简单使用 - 百度文库
3.8分 2078阅读 值得一读
(word完整版)NetworkX - 百度文库
4.2分 1053阅读
NetworkX - 百度文库
4.0分 4701阅读 近期下载量
python matplotlib 中ax.legend()用法解释
ax.legend()作用:在图上标明一个图例,用于说明每条曲线的文字显示
import matplotlib.pyplot as plt import numpy as np x = np.arange(10) fig = plt.figure() ax = plt.subplot(111) for i in range(5): #ax.plot(x, i * x, label=\'y=%dx\' %i) ax.plot(x, i * x, label=\'$y = %ix$\' % i) ax.legend() plt.legend(loc=2) plt.show()
legend()有一个loc参数,用于控制图例的位置。 比如 plot.legend(loc=2) , 这个位置就是4象项中的第二象项,也就是左上角。 loc可以为1,2,3,4 这四个数字。
如果把那句legend() 的语句去掉,那么图形上的图例也就会消失了。
http://30daydo.com/article/215
以上是关于networkx中ax用法的主要内容,如果未能解决你的问题,请参考以下文章
用 GraphScope 像 NetworkX 一样做图分析