官方参考文档http://www.cs.rhul.ac.uk/home/tamas/development/igraph/tutorial/tutorial.html
Starting igraph
从igraph模块中导入所有函数
from igraph import *
g = Graph(1) # 此时的graph只有1个顶点,0条边
print(g)
IGRAPH U— 1 0 –
Graph.add_vertices()
Graph.add_vertices()的作用是给graph添加顶点数,并且返回这个graph
g.add_vertices(2) # 此时的graph有3个顶点,0条边
graph的顶点从0开始标号,即3个顶点对应编号为0, 1, 2
Graph.add_edges()
1.Graph.add_edges()的作用是添加边的,边必须由整数对指定,比如(0, 1)表示顶点0与顶点1之间添加边
2.函数添加边时需要列表符号[]
3.当添加的边的顶点编号不存在比如g.add_edges((5, 0)),程序报错
4.边也存在编号,同样是从0开始
g.add_edges([(0, 1), (1, 2)]) # 此时的graph有3个顶点,2条边
# 添加更多的边和顶点数
g.add_edges([(2, 0)])
g.add_vertices(3)
g.add_edges([(2, 3), (3, 4), (4, 5), (5, 3)])
IGRAPH U— 6 7 –
edges: 0–1 1–2 0–2 2–3 3–4 4–5 3–5
此时的graph (无向图)6个顶点,7条边;edges表示哪些顶点之间存在边的关系
Graph.delete_edges()
delete_edges()作用为边的删除,函数需要由边的编号组成的列表或者是单独的边的编号
Graph.delete_vertices()
1.delete_edges()作用为顶点的删除,函数需要由顶点的编号组成的列表或者是单独的顶点的编号
Graph.get_eid()
get_eid作用为获取连接两个顶点边的编号,当你不知道需要删除的边的编号时,可以使用这个函数
g.get_eid(2, 3) # out: 3
# 此时graph删除编号为3的边
g.delete_edges(3)
print(g)
IGRAPH U— 6 6 –
edges: 0–1 1–2 0–2 3–4 4–5 3–5
summary()
summary()作用是获取给定的graph的概述
1.列举出边和顶点的个数
2.检查图有向或无向
3.计算图连通分量的个数
4.计算图的直径, 边缘密度,平均路径的长度
summary(g)
官方文档上的结果是 :
6 vertices, 6 edges, undirected
Number of components: 2
Diameter: 1
Density: 0.4000
Average path length: 1.0000
我自己运行的结果是:
IGRAPH U— 6 6 –
不知道哪里出了问题,可能跟igraph的版本有关