博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
(python)Graph_tools模块学习
阅读量:6249 次
发布时间:2019-06-22

本文共 1656 字,大约阅读时间需要 5 分钟。

使用之前需要先导入:

from graph_tool.all import *

1、  创建一个图

有向图:g = Graph()

无向图:ug = Graph(directed=False)

或ug = Graph()

ug.set_directed(False)

2、 创建节点:v1 = g.add_vertex()

      解释:创建顶点,返回顶点描述符(顶点类的一个实例),存放在V1中。

创建多个节点:vlist=g.add_vertex(10)

      解释:创建10个顶点,返回有10个顶点的描述符迭代器。

删除节点:g.remove_vertex(v2)

获取顶点的索引:print(g.vertex_index[v]) 或print int(v)

      解释:每个顶点在图中有独一无二的编号。

遍历顶点:for v in g.vertices():

              print(v)

获得顶点描述符: v= g.vertex(8)

      解释:通过编号获得顶点描述符。

查询点的出度:print(v1.out_degree())

入度:print(v1.in_degree())

遍历每个顶点的出入边及出入邻接节点:

for v in g.vertices():   print 'vertex%d\'s out_edges'%g.vertex_index[v]   for e in v.out_edges():      print eprint'vertex%d\'sout_neighbours'%g.vertex_index[v]   for w in v.out_neighbours():      print w

 

   

3、 创建边:e = g.add_edge(v1, v2)

    解释:创建边,返回边描述符(边类的一个实例)

删除边:g.remove_edge(e)

获取边的索引:print(g.edge_index[e])

通过索引获取边描述符: e=g.edge(2,3)

遍历边:for e in e.edges():

         print(e)

查询边的源顶点,目标顶点:print(e.source(),e.target())

4、 输出到.pdf文件:

graph_draw(g,vertex_text=g.vertex_index,vertex_font_size=18,output_size=(200,200), output="8-nodes.pdf")

5、属性映射:将额外的信息添加到顶点或边上

创建新的顶点映射,参数为类型

值'vertex1'通过顶点描述符g.vertex(10)来访问。

vprop_string = self.g.new_vertex_property("string") vprop_string [g.vertex(10)] = 'vertex1'

为边添加属性:

eprop=g.new_edge_property("string")g.edge_properties["sometime"]=epropg.list_properties()

输出>>>sometime (edge) (type:string)

内部属性映射:任何被创建的属性映射都可以被内置到图中,通过在图的类字典属性中包含它们,这样属性映射就可以和图一起被保存。

 

记录几个网址:

http://canoncial.blog.163.com/blog/static/184149801201345102530123/
http://graph-tool.skewed.de/
http://graph-tool.skewed.de/static/doc/index.html
http://graph-tool.skewed.de/download

转载于:https://www.cnblogs.com/myblog-lyc/p/4189237.html

你可能感兴趣的文章
Oracle导入程序Imp的使用详解
查看>>
C#学习笔记(七):智能编译器
查看>>
Openflow协议规范
查看>>
struts2支持的结果处理类型
查看>>
11.2.3 Redis的启动停止
查看>>
如何验证cname,MX,spf记录是否生效?
查看>>
Centos系统mysql 忘记root用户的密码
查看>>
uva:10700 - Camel trading(贪婪)
查看>>
开启CURL扩展,让服务器支持PHP curl函数(远程采集)
查看>>
随笔1
查看>>
OpenStack Summit Paris 会议记录 - 11-05-2014
查看>>
asp.net 的page 基类页面 做一些判断 可以定义一个基类页面 继承Page类 然后重写OnPreLoad事件...
查看>>
解析Javascript事件冒泡机制
查看>>
linux 下一个 jira-6.3.6 组态 皴 翻译 迁移数据库
查看>>
frequentism-and-bayesianism-chs-iv
查看>>
The Unique MST (判断是否存在多个最小生成树)
查看>>
ZOJ 2319 Beatuiful People(单调递增序列的变形)
查看>>
大型网站技术架构(1)【转】
查看>>
centos7 install 安装mysql
查看>>
C++11在时空性能方面的改进
查看>>