python-igraph创建网络(图)

  • 1.网络布局
  • 2.显示网络
  • 3.保存网络
  • 4.创建网络
    • 未完待续

igraph包含了很多创建网络和显示网络的功能,后面专门讲述绘制网络功能,这边为了查看方便,先plot函数绘制网络

1.网络布局

1)layout_bipartite(types="type", hgap=1, vgap=1, maxiter=100)放置二分图到两个层,types为定点类型,hgap为最小水平间隔,vgap为垂直间隔,maxiter为最大迭代次数
2)layout_circle(dim=2, order=None)放置顶点到圆或球表面,dim为维度,order顶点顺序,layout_sphere(*args, **kwds)layout_circle()为其简化版
3)layout_davidson_harel(seed=None, maxiter=10, fineiter=-1,cool_fact=0.75, weight_node_dist=1.0, weight_border=0.0,weight_edge_lengths=-1, weight_edge_crossings=-1,weight_node_edge_dist=-1)采用Davidson-Harel算法放置顶点到二维空间,seed为初始位置,maxiter为迭代次数,fineiter为精细调整迭代次数,cool_fact为冷却系数,weight_node_dist顶点-顶点距离权重,weight_border边沿距离权重,weight_edge_lengths为边距离权重, weight_edge_crossings边交叉权重,weight_node_edge_dist顶点-边距离权重
4)layout_drl(weights=None, fixed=None, seed=None, options=None, dim=2)采用DrL算法放置顶点到二维或三维空间,适用于大图,weights为边权重,seed为其实位置,fixed指定固定位置顶点,options为可选参数,dim为维度
5)layout_fruchterman_reingold(weights=None, niter=500, seed=None,start_temp=None, minx=None, maxx=None, miny=None, maxy=None,minz=None, maxz=None, grid="auto")用Fruchterman-Reingold算法放置顶点到二维平面,weights为边权重,nier为迭代次数,start_temp起始温度,minx/maxx/miny/maxy/minz/maxz为坐标范围,seed为起始位置,grid是否启用网格位置提升速度,layout_fruchterman_reingold_3d(*args, **kwds)layout_fruchterman_reingold()为其简化版
6)layout_graphopt(niter=500, node_charge=0.001, node_mass=30,spring_length=0, spring_constant=1, max_sa_movement=5, seed=None)每个顶点定义吸引力和排斥力进行顶点布局,niter为迭代次数,node_change为顶点改变量用于计算排斥力,node_mass为顶点质量,计算弹力,spring_length计算弹簧长度,spring_constant弹簧系数,max_sa_movement单步允许最大移动量,seed初始位置
7)layout_grid(width=0, height=0, dim=2)放置顶点到二维或三维网格,width为每个定点数,height为每列定点数,dim为维度,layout_grid_3d(*args, **kwds)和layout_grid()为其简化版
8)layout_kamada_kawai(maxiter=1000, seed=None, maxiter=1000,epsilon=0, kkconst=None, minx=None, maxx=None, miny=None,maxy=None, minz=None, maxz=None, dim=2)根据kamada_kawai算法放置顶点到平面,maxiter为最大迭代次数,seed为None开始随机放置,为矩阵时为初始位置,epsilon系统能量改变小于该值时停止迭代,kkconst为顶点吸引常数,minx/maxx/miny/maxy/minz/maxz为三维坐标的范围,dim为布局维度,layout_kamada_kawai_3d(*args, **kwds)layout_kamada_kawai()为其简化版
9)layout_lgl(maxiter=150, maxdelta=-1, area=-1, coolexp=1.5,repulserad=-1, cellsize=-1, root=None)根据大图布局方法将顶点放置到二维平面中,maxiter为迭代次数,maxdelta为每次迭代时最大移动距离,area顶点放置的区域大小,coolexp模拟退火系数,repulserad确定顶点-顶点排斥半径,cellsize确定格点大小,root最早放置的顶点
10)layout_mds(dist=None, dim=2, arpack_options=None)将顶点部署在给定距离矩阵的二维或三维平面中,dist为顶点对称距离矩阵,dim为维度
11)layout_random(dim=2)随机布局图顶点到二维画布
12)layout_random_3d(*args, **kwds)随机布局图顶点到三维画布
13)layout_random()随机布局图顶点到二维画布
14)layout_reingold_tilford(mode="out", root=None, rootlevel=None)以Reingold-Tilford布局算法将顶点放置到二维平面,这是一个树形布局方式。如果给定的图不是一棵树,将会采用广度优先搜索算法获得展开树。mode为指定那些边需要考虑,可以为OUT/IN/ALL,root给定根节点,rootlevel用于绘制森林时指定树的高度
15)layout_reingold_tilford_circular(mode="out", root=None,rootlevel=None)按照环形Reingold-Tilford布局算法显示树结构
16)layout_star(center=0, order=None)以星型方式布局,center为放在中心的顶点ID,order顶点列表顺序否则按升序放置
17)layout_sugiyama(layers=None, weights=None, hgap=1, vgap=1,maxiter=100, return_extended_graph=False)采用层叠Sugiyama布局方式放置顶点,大多数在有向非周期图是使用,每个顶点放到一个层,每个层放到水平线上。layers为每个顶点的层列表,weights为每个边的属性名,hgap为最小水平间隔,vgap垂直间隔,maxiter为迭代次数。
18)layout(self, layout=None, *args, **kwds)。Graph类提供了通用的layout方法,通过参数实现以上所有的layout,具体包括auto、bipartite、circle、dh、drl、drl_3d、fr、fr_3d、grid、grid_3d、graphopt、kk、kk_3d、lgl、mds、random、random_3d、rt、rt_circular、sphere、star、sugiyama。
19)layout_auto(self, *args, **kwds)自动根据网络属性和特性选择layout方式

2.显示网络

  1. igraph.drawing.plot(obj, target=None, bbox=(0, 0, 600, 600), *args, **kwds)是基本的网络显示函数。obj:要绘制的网络对象;target:可以是None(自动创建画布)、cairo.Surface对象(具体可以使PNG图片、任意窗口对象、SVG文件或其它Cairo可以处理的对象)、string(字符串形式给出的PNG/PDF/SVG/PostScript文件);bbox:画布边框,可以以二元组给出高度和宽度,四元组给出两个对角线坐标,如果是PNG或屏幕绘制以像素为单位,如果是PDF/SVG/PostScript绘制以点为单位:72pt=1inch=2.54cm;opacity:不透明度(0~1),当需要将多个图绘制到同一个画布时可以重叠在一起;palette:调色板;margin:以四元组形式给出画布上下左右空白区域大小
    2)Graph本身具有__plot__(self, context, bbox, palette, *args, **kwds)方法,但是不会直接调用,而是用前述的函数间接调用。

3.保存网络

GraphBaseGraph均提供了保存网络的方法或函数,通常直接调用Graph的方法,下面直接给出所有的方法或函数列表,读取和写入基本一一对应,就没有再给出。
GraphBase保存图的方法
1)write_dimacs(f, source, target, capacity=None) ***以DIMACS格式保存图到文件,f为文件名,source为顶点ID,target为目标ID,capacity为列表中边的容量
2)write_dot(f )以DOT格式保存图到文件,DOT格式是GraphViz软件使用的格式
3)write_edgelist(f )以边列表形式保存图到文件,f为文件名
4)write_gml(f, creator=None, ids=None)以GML格式保存图,f为文件名,creator可选创建者信息,ids为可选写入顶点列表
5)write_graphml(f )以GraphML格式保存图,f为文件名
6)write_leda(f, names="name", weights="weights")以LEDA本地格式保存图到文件,LEDA格式的每个顶点和边都最多支持一个属性但是没有保存属性名,f为文件名,names为需要保存的顶点名列表,weights为需要保存的边权重属性名
7)write_lgl(f, names="name", weights="weights", isolates=True)以lgl格式写图的边列表到文件,不允许写多重边图,f为文件名,names为需要保存的顶点名列表,weights为需要保存的边权重属性名,isolates指示是否写入孤立顶点
8)write_ncol(f, names="name", weights="weights")以.ncol格式将图的边列表写到文件,不允许写多重边图,f为文件名,names为需要保存的顶点名列表,weights为需要保存的边权重属性名
9)write_pajek(f)以Pajeck格式保存图到文件
Graph保存图的方法
基本和GraphBase一一对应,以对象方法的形式提供
10)write_adjacency(self, f, sep=’ ’, eol=’\n’, *args, **kwds)写邻接矩阵到文件,f为文件名,sep为矩阵元素间隔符,eol为矩阵行间隔符
11)write_dimacs(self, f, source=None, target=None, capacity=’capacity’)以DIMACS格式保存图,覆盖同名函数
12)write_graphmlz(self, f, compresslevel=9)以GraphML格式保存图,f为文件名,compresslevel为压缩级别
13)write_pickle(self, fname=None, version=-1)以Python picled格式保存图,fname为文件名,version为pickle协议版本号
14)write_svg(self, fname, layout=’auto’, width=None, height=None, labels=’label’, colors=’color’, shapes=’shape’, vertex_size=10, edge_colors=’color’, edge_stroke_widths=’width’, font_size=16, *args, **kwds)以SVG格式保存图,可以用Inkscape打开编辑,fname为文件名,layout为图的布局(可以使坐标对列表或layout算法名),width为pixel为单位宽度,height为以pixel为单位的高度,labels顶点标签(顶点属性名或直接以列表具体给出),colors为顶点颜色(顶点属性名或直接以列表具体给出),shapes为顶点形状(顶点属性名或形状编号),vertex_size为以pixel给出的顶点大小,edge_colors边颜色(边属性名或直接以列表具体给出),edge_stroke_widths边宽度(边属性名或直接以列表具体给出),font_size为字体大小
15)save(self, f, format=None, *args, **kwds)支持以上所有的保存方法,其通过f的扩展名识别调用的具体图保存方法,f为包含扩展名的文件名,format通过字符串制定具体保存格式(None从文件名推断,adjacency以邻接矩阵格式,dimacs以DIMACS格式,dot或graphviz以GraphViz DOT格式,edgelist/edges/edge以数值边列表格式,gm以GML格式,graphml/graphmlz以标准GraphML格式,gw/leda/lgr以LEDA本地格式,lgl以LGL格式,ncol以NCOL格式,net/pajek以Pajek格式,pickle/picklez以标准Python pickled格式,svg以SVG格式),其它参数则直接传递给底层的保存方法。
16)writesave具有相同的功能,
17)loadread具有相同功能,且对应于保存图格式的方式读取图。

4.创建网络

1).默认构造函数创建
__init__(n=0, edges=None, directed=False, graph_attrs=None,vertex_attrs=None, edge_attrs=None)给出顶点数、边列表、方向标志、图属性、节点属性、边属性
实例:

import igraph as ig
g=ig.Graph(n=8,edges=[(0,1),(1,2),(2,3),(3,4),(4,5),(5,6),(6,7),(7,0)],directed=True,graph_attrs="graph_name":"cicle"},vertex_attrs={"id":[0,1,2,3,4,5,6,7]})
g.layout_grid()
ig.plot(g,"d:\\tmp.png",bbox=(1200,1200),opacity=0.5,margin=(10,10,10,10))


2.连接矩阵创建图,给出邻接矩阵和创建模式
Adjacency(matrix, mode=ADJ_DIRECTED)以连接矩阵形式创建有向或无向网络,matrix以二维矩阵形式给出连接矩阵,mode可以是字符串或常数形式的网络类型

import igraph as ig
g=ig.Graph.Adjacency(matrix=[[0,1,1,1],[1,0,1,1],[1,1,0,1],[1,1,1,0]],mode="DIRECTED")
g.layout_grid()
ig.plot(g,"d:\\tmp.png",bbox=(1200,1200),opacity=0.9,margin=(10,10,10,10))

网络输出结果

3.非对称定点类型和连接分布创建图
Asymmetric_Preference(n, type_dist_matrix, pref_matrix,attribute=None, loops=False)n给出定点数,type_dist_matrix为定点类型联合分布,pref_matrix为不同顶点类型间的连接分布

import igraph as ig
g=ig.Graph.Asymmetric_Preference(n=4,type_dist_matrix=[[0,1,1,1],[1,0,1,1],[1,1,0,1],[1,1,1,0]],pref_matrix=[[0,1,1,1],[1,0,1,1],[1,1,0,1],[1,1,1,0]])
g.layout_grid()
ig.plot(g,"d:\\tmp.png",bbox=(1200,1200),opacity=0.9,margin=(10,10,10,10))

产生的网络输出

4.产生Atlas图
Atlas(idx )根据索引产生Atlas图,idx为从0开始的索引

import igraph as ig
g=ig.Graph.Atlas(1000)
g.layout_grid()
ig.plot(g,"d:\\tmp.png",bbox=(1200,1200),opacity=0.9,margin=(10,10,10,10))

输出网络

5.基于 Barabasi-Albert模型产生图
Barabasi(n, m, outpref =False, directed=False, power=1, zero_appeal=1,implementation="psumtree", start_from=None)
n为顶点数,m为每个顶点引出的平均边数,outpref出度是否随着入度增加,directed是否有向图,power非线性模型的幂常数,zero_appeal零度顶点的引力,implementation产生网络的算法,start_from为起始图。

import igraph as ig
g=ig.Graph.Barabasi(100,3,outpref=True,directed=True)
g.layout_grid()
ig.plot(g,"d:\\tmp.png",bbox=(1200,1200),opacity=0.9,margin=(10,10,10,10))

生成的网络为

6.Bruijn图
De_Bruijn(m, n)产生具有m^n个节点的Bruijn图

import igraph as ig
g=ig.Graph.De_Bruijn(2,10)
g.layout_grid()
ig.plot(g,"d:\\tmp.png",bbox=(1200,1200),opacity=0.9,margin=(10,10,10,10))

产生的图为

7.根据度序列产生图
Degree_Sequence(out, in=None, method="simple")产生具有特定度序列的图,out为出度序列,in为入度序列,method为生成方法

import igraph as ig
g=ig.Graph.Degree_Sequence(out=[2,2,2,4])
g.layout_grid()
ig.plot(g,"d:\\tmp.png",bbox=(1200,1200),opacity=0.9,margin=(10,10,10,10))


8.ER随机图
Erdos_Renyi(n, p, m, directed=False, loops=False)根据Erdos-Renyi模型生成随机图,n为顶点个数,p为边概率,m为边数,directed是否产生有向图,loops是否允许自环。给定p是就不要给定m,给定m就不要给定p。

import igraph as ig
g=ig.Graph.Erdos_Renyi(n=100,p=0.3)
g.layout_grid()
ig.plot(g,"d:\\tmp.png",bbox=(1200,1200),opacity=0.9,margin=(10,10,10,10))

生成的网络

9.根据生长模型产生图
Establishment(n, k, type_dist, pref_matrix, directed=False)基于简单生长模型采用定点类型生产图,n为顶点数,k为每步试图新增边数,type_dist为顶点类型,pref_matrix为不同顶点类型的连接概率分布。

import igraph as ig
g=ig.Graph.Establishment(n=100,k=10,type_dist=[1,1,2],pref_matrix=[[0,1,1],[1,0,1],[1,1,0]])
g.layout_grid()
ig.plot(g,"d:\\tmp.png",bbox=(1200,1200),opacity=0.9,margin=(10,10,10,10))

10.产生典型图
Famous(name)产生典型图,name为字符串形式图名。

import igraph as ig
g=ig.Graph.Famous("Chvatal")
g.layout_grid()
ig.plot(g,"d:\\tmp.png",bbox=(1200,1200),opacity=0.9,margin=(10,10,10,10))

产生的图输出

11.根据林火模型产生图
Forest_Fire(n, fw_prob, bw_factor=0.0, ambs=1, directed=False)是一个生长模型,n为顶点数,fw_prob为向前燃烧概率,bw_factor为前向和后向燃烧概率比。

import igraph as ig
g=ig.Graph.Forest_Fire(n=100,fw_prob=0.8)
g.layout_grid()
ig.plot(g,"d:\\tmp.png",bbox=(1200,1200),opacity=0.9,margin=(10,10,10,10))

生产的图

12.产生完全图
Full(n, directed=False, loops=False)产生完全图,n为顶点数

import igraph as ig
g=ig.Graph.Full(n=50)
g.layout_grid()
ig.plot(g,"d:\\tmp.png",bbox=(1200,1200),opacity=0.9,margin=(10,10,10,10))

生产的图输出

13.产生完全引用图
Full_Citation(n, directed=False)产生引用图,n为顶点数

import igraph as ig
g=ig.Graph.Full_Citation(n=10)
g.layout_grid()
ig.plot(g,"d:\\tmp.png",bbox=(1200,1200),opacity=0.9,margin=(10,10,10,10))

产生的完全引用图

14.产生生长随机图
Growing_Random(n, m, directed=False, citation=False)基于生长模型产生随机图,n为顶点数,m为每步增加的边数,directed指示是否有向,citation指示新增加的边必须由最近新增的顶点产生。

import igraph as ig
g=ig.Graph.Growing_Random(n=100,m=2)
g.layout_grid()
ig.plot(g,"d:\\tmp.png",bbox=(1200,1200),opacity=0.9,margin=(10,10,10,10))

产生的网络

15.给定同构类产生图
Isoclass(n, class, directed=False)根据同构类产生图,n为顶点数,class为同构类

16.产生K规则随机图
K_Regular(n, k, directed=False, multiple=False)产生k规则随机图,n为顶点数,k为每个顶点度

import igraph as ig
g=ig.Graph.K_Regular(10,k=3)
g.layout_grid()
ig.plot(g,"d:\\tmp.png",bbox=(1200,1200),opacity=0.9,margin=(10,10,10,10))

产生的规则图

17.产生Kautz图
Kautz(m, n)产生Kautz图,m为字母表大小减1,n为字符串长度减1

import igraph as ig
g=ig.Graph.Kautz(m=5,n=2)
g.layout_grid()
ig.plot(g,"d:\\tmp.png",bbox=(1200,1200),opacity=0.9,margin=(10,10,10,10))

产生的Kautz图为

18.根据LCF记号产生图
LCF(n, shifts, repeats)根据LCF记号产生图,n为顶点数,shifts为偏移列表或元组,repeats为重复次数

import igraph as ig
g=ig.Graph.LCF(n=100,shifts=[1,2],repeats=10)
g.layout_grid()
ig.plot(g,"d:\\tmp.png",bbox=(1200,1200),opacity=0.9,margin=(10,10,10,10))

产生的图为

19.产生规则网格图
Lattice(dim, nei=1, directed=False, mutual=True, circular=True)产生网格图,dim为网格维度,nei为两个顶点距离,directed是否有向图

import igraph as ig
g=ig.Graph.Lattice(dim=[10,10])
g.layout_grid()
ig.plot(g,"d:\\tmp.png",bbox=(1200,1200),opacity=0.9,margin=(10,10,10,10))

产生的网格图

20.根据顶点类型和连接分布产生图
Preference(n, type_dist, pref_matrix, attribute=None, directed=False,loops=False)根据定点类型和连接概率产生图,n为顶点个数,type_dist为类型分布,pref_matrix为连接偏好

import igraph as ig
g=ig.Graph.Preference(n=100,type_dist=[1,2],pref_matrix=[[0.1,0.9],[0.9,0.1]])
g.layout_grid()
ig.plot(g,"d:\\tmp.png",bbox=(1200,1200),opacity=0.9,margin=(10,10,10,10))

产生的图为

21.基于随机模型产生边分布图
Recent_Degree(n, m, window, outpref =False, directed=False, power=1)基于一个随机模型产生图,n为顶点数,m为每个顶点的出度,windows为每个时间步的窗口大小

import igraph as ig
g=ig.Graph.Recent_Degree(n=100,m=3,window=2)
g.layout_grid()
ig.plot(g,"d:\\tmp.png",bbox=(1200,1200),opacity=0.9,margin=(10,10,10,10))

产生的图

22.产生环形图
Ring(n, directed=False, mutual=False, circular=True)产生环图,n为顶点数量

import igraph as ig
g=ig.Graph.Ring(n=100)
g.layout_grid()
ig.plot(g,"d:\\tmp.png",bbox=(1200,1200),opacity=0.9,margin=(10,10,10,10))

产生的图

23.根据随机块模型产生图
SBM(n, pref_matrix, block_sizes, directed=False, loops=False)根据随机块模型产生图,n为顶点数,pref_matrix为不同顶点连接概率分布,block_size为每个块的顶点数。

import igraph as ig
g=ig.Graph.SBM(n=100,pref_matrix=[[0.1,0.9],[0.9,0.1]],block_sizes=[30,70])
g.layout_grid()
ig.plot(g,"d:\\tmp.png",bbox=(1200,1200),opacity=0.9,margin=(10,10,10,10))

产生的图

24.产生星型图
Star(n, mode="undirected", center=0)产生星型图,n为顶点数

import igraph as ig
g=ig.Graph.Star(n=100)
g.layout_grid()
ig.plot(g,"d:\\tmp.png",bbox=(1200,1200),opacity=0.9,margin=(10,10,10,10))

产生的星型图

25.根据边概率产生非生长图
Static_Fitness(m, fitness_out, fitness_in=None, loops=False,multiple=False)产生正比于顶点适应度的边分布的图,m为边数,fitness_out为顶点适应度

import igraph as ig
g=ig.Graph.Static_Fitness(m=10,fitness_out=[1,1,1,1,1])
g.layout_grid()
ig.plot(g,"d:\\tmp.png",bbox=(1200,1200),opacity=0.9,margin=(10,10,10,10))

产生的图

26.产生幂率图
Static_Power_Law(n, m, exponent_out, exponent_in=-1, loops=False,multiple=False, finite_size_correction=True)产生具有特定顶点数和边数且遵循幂率度分布的图

import igraph as ig
g=ig.Graph.Static_Power_Law(n=50,m=200,exponent_out=2.1)
g.layout_grid()
ig.plot(g,"d:\\tmp.png",bbox=(1200,1200),opacity=0.9,margin=(10,10,10,10))

产生的图

27.产生树
Tree(n, children, type=TREE_UNDIRECTED)根据顶点数和孩子数产生树,n为顶点数,children为孩子数

import igraph as ig
g=ig.Graph.Tree(n=100,children=10)
g.layout_grid()
ig.plot(g,"d:\\tmp.png",bbox=(1200,1200),opacity=0.9,margin=(10,10,10,10))

产生的树

28.产生Watts_Strogatz图
Watts_Strogatz(dim, size, nei, p, loops=False, multiple=False)产生Watts_Strogatz图,dim为维度,size为各维大小,nei为格点距离,p为重连概率

import igraph as ig
g=ig.Graph.Watts_Strogatz(dim=2,size=10,nei=1,p=0.1)
g.layout_grid()
ig.plot(g,"d:\\tmp.png",bbox=(1200,1200),opacity=0.9,margin=(10,10,10,10))

产生的网络

29.根据权重矩阵产生图
Weighted_Adjacency(matrix, mode=ADJ_DIRECTED, attr="weight",loops=True)根据连接矩阵产生图,matrix为连接矩阵,mode为图的模式

import igraph as ig
g=ig.Graph.Weighted_Adjacency(matrix=[[0,1,2,3],[1,0,1,2],[1,1,0,4],[1,1,1,0]],mode="DIRECTED")
g.layout_grid()
ig.plot(g,"d:\\tmp.png",bbox=(1200,1200),opacity=0.9,margin=(10,10,10,10))

产生的图

未完待续

30.DictList(klass, vertices, edges, directed=False, vertex_name_attr=’name’,edge_foreign_keys=(’source’, ’target’), iterative=False)
31.TupleList(klass, edges, directed=False, vertex_name_attr=’name’,edge_attrs=None, weights=False)
32.Formula(Graph, formula=None, attr="name", simplify=True)
33.Bipartite(types, edges, directed=False)
34.Full_Bipartite(n1, n2, directed=False, mode=ALL)
35.Random_Bipartite(n1, n2, p=None, m=None, directed=False,neimode=ALL)
36.GRG(n, radius, torus=False, return_coordinates=False)
37.Incidence(matrix, directed=False, mode=ALL, multiple=False,weighted=None)
38.DataFrame(edges, directed=True, vertices=None)
39.bipartite_projection(self, types=’type’, multiplicity=True, probe1=-1,which=’both’)
40.from_networkx(klass, g)和to_networkx(self )可以在networkx和igraph网络格式之间相互转换。
41.从连接矩阵文件读取图
import igraph as ig
g=ig.Graph.Weighted_Adjacency(matrix=[[0,1,2,3],[1,0,1,2],[1,1,0,4],[1,1,1,0]],mode=“DIRECTED”)
g.layout_grid()
ig.plot(g,“d:\tmp.png”,bbox=(1200,1200),opacity=0.9,margin=(10,10,10,10))
g.save(“d:\test.Adjacency”,format=“adjacency”)
f=ig.load(“d:\test.Adjacency”,format=“adjacency”)
ig.plot(f)
其它方式均相同,可以保存图到文件,并读取
42.从DIMACS文件读取图
43.从UCINET DL文件读取图
44.读取边列表文件创建图
45.读取GML文件创建图
46.读取GraphDB格式文件创建图
47.读取GraphML格式文件创建图
48.读取LGL格式文件创建图
49.读取Pajek格式文件创建图

python-igraph创建网络(图)相关推荐

  1. Python | 使用matplotlib.pyplot创建线图

    Problem statement: Write a program in python (using matplotlib.pyplot) to create a line plot. 问题陈述:用 ...

  2. python画误差图_Python数据可视化:如何创建误差图

    一图胜千言,使用Python的matplotlib库,可以快速创建高质量的图形. 这是Python数据可视化的系列短篇,针对初级和中级用户,将理论和示例代码相结合,使用matplotlib, seab ...

  3. python蜡烛图预测_Python数据可视化:如何用mplfinance创建蜡烛图

    一图胜千言,使用Python的matplotlib库,可以快速创建高质量的图形. 我们团队推出一个新的系列教程:Python数据可视化,针对初级和中级用户,将理论和示例代码相结合,使用matplotl ...

  4. Python数据可视化:如何用mplfinance创建蜡烛图

    一图胜千言,使用Python的matplotlib库,可以快速创建高质量的图形. 我们团队推出一个新的系列教程:Python数据可视化,针对初级和中级用户,将理论和示例代码相结合,使用matplotl ...

  5. 用Python从零开始创建区块链

    链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载. 前言 如果你还没有听说过 3 点钟区块链群,说明你还不是链圈的人:如果你还没有加入 3 点钟区块链群,说明你还不是链圈的 ...

  6. 如何在 Python 中创建一个简单的神经网络

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 引言 在过去的几十年里,机器学习对世界产生了巨大的影响,而且它的普 ...

  7. 看完此文再不懂区块链算我输:手把手教你用Python从零开始创建区块链

    导读:如果你还没有听说过 3 点钟区块链群,说明你还不是链圈的人:如果你还没有加入 3 点钟区块链群,说明你还不是链圈的大佬:如果你还没有被 3 点钟区块链群刷屏,说明你还体会不到什么是"币 ...

  8. Python四大主流网络编程框架

    目前Python的网络编程框架已经多达几十个,逐个学习它们显然不现实.但这些框架在系统架构和运行环境中有很多共通之处,本文带领读者学习基于Python网络框架开发的常用知识,及目前的4种主流Pytho ...

  9. python网络编程攻略-Python四大主流网络编程框架

    目前Python的网络编程框架已经多达几十个,逐个学习它们显然不现实.但这些框架在系统架构和运行环境中有很多共通之处,本文带领读者学习基于Python网络框架开发的常用知识,及目前的4种主流Pytho ...

最新文章

  1. # vmware异常关机后,虚拟系统无法启动的解决办法
  2. .Net Discovery系列之十一-深入理解平台机制与性能影响 (中)
  3. 天翼云从业认证课后习题(3.3天翼云网络产品)
  4. Android ConstraintLayout ConstraintSet动态布局
  5. 大数据WEB阶段(五)jQuery
  6. P1496 vijos1165-火烧赤壁【离散化】
  7. c语言for循环26个英文字母,菜鸟求助,写一个随机输出26个英文字母的程序
  8. anaconda下安装python,Windows下Anaconda的安装和简单使用方法
  9. Linux中的终端、控制台、tty、pty等概念
  10. 磁盘格式化(mkfs命令)、磁盘挂载(mount)、手动添加swap
  11. Oracle 最后通牒:要 Java 8 更新先交钱!
  12. Eclipse用法和技巧九:自动添加try/catch块2
  13. 已知两点坐标求水平距离_过中心的弦---极坐标
  14. SmileMiner:国人李海峰开发的开源Java机器学习库
  15. powershell 汉洛塔
  16. 充电桩检测设备TK4860E交流充电桩检定装置
  17. 即插即用demo系列——文本相似度比较
  18. 我国第一部纯国产超级计算机,纯国产超级计算机获得世界冠军
  19. 初识 Jetpack Compose
  20. Go 语言实战: 编写可维护 Go 语言代码建议

热门文章

  1. 棋牌PHP域源码,微信棋牌源码下载( h5.super-mans。com Q:2012035031)
  2. JAV----------数组操作
  3. iOS App托管和分发搭建
  4. 为什么电脑浏览器显示时钟快了_打开网站提示您的时钟快了_网页显示您的时钟慢了,解决方法...
  5. 向日葵在mac不能以服务器运行吗,macOS系统向日葵远程控制鼠标无法点击的问题...
  6. 多种好看好玩的词云例子Example
  7. html 怎么让背景图铺满整个页面
  8. 数字IC后端知识扫盲——OCV(上)
  9. Linux下查看网络设备类型
  10. c语言循环丘比特之箭,《我的世界》用两条指令驾驭命令方块 发射爱心骑筋斗云无所不能...