使用之前需要先导入:

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

(python)Graph_tools模块学习相关推荐

  1. python logging模块学习

    python 的日志logging模块学习 1.简单的将日志打印到屏幕 import logging logging.debug('This is debug message') logging.in ...

  2. python 各种模块学习

    from:https://blog.csdn.net/weiwangchao_/article/details/70570508 转载:.... Python的模块大全,很全,有详细介绍! 另外附Py ...

  3. Python日志模块学习,从这里开始...

    消息与记录 刚才谈到了关于历史账号的文章与消息记录,所以今天想跟大家聊聊Python关于消息记录的模块:日志管理模块 logging. 学习python的第一课,肯定都是print('Hello Wr ...

  4. python Re模块学习

    最近自己学习了正则表达式,自我感觉已经能够满足日常的使用了,需要去了解python提供的匹配正则表达式的工具包,学习参考官方文档,博客相当于笔记,毕竟人家官方文档才是最权威的. 文章目录 一.写在前面 ...

  5. python serial模块学习

    python serial 学习 模块介绍 层次 SerialBase 入参(串口参数) 实例变量 总结 Serialwin32 执行文件选择 主要函数 模块介绍 python对于串口,有封装好的se ...

  6. 【Python】模块学习之ConfigParser读写配置信息

    前言 使用配置文件可以在不修改程序的情况下,做到对程序功能的定制.Python 使用自带的configParser模块可以很方便的读写配置文件的信息. configParser 支持的方法 Confi ...

  7. python zipfile模块学习笔记(一)

    ZIP文件格式是一种常见的存档和压缩标准,这个zipfile模块提供了工具来创建.读取.写入.附加和列出一个ZIP文件.使用ZIP64扩展(即压缩文件大小超过4G),它能解压加密的ZIP文件,解密过程 ...

  8. #Python第三方模块学习笔记(四)——CSV模块功能及主要函数介绍

    声明:本篇文章为转载文章并附有自己的理解,如有冒犯请联系博主立马删除 源地址:https://blog.csdn.net/u012162613/article/details/41915859 1.c ...

  9. python fileinput_Python模块学习:fileinput

    这几天有这样一个需求,要将用户登陆系统的信息统计出来,做成一个报表.当用户登陆成功的时候,服务器会往日志文件里写一条像下面这种格式的记录:"日期时间@用户名@IP",这样的日志文件 ...

最新文章

  1. UNICODE字符集表
  2. 其他算法-高斯混合模型
  3. 查看HTML代码却被当黑客,记者好心报告漏洞,反遭美国州长起诉
  4. php dirname(__FILE__)
  5. 神策数据完成B轮融资1100万美元,DCM领投、红杉跟投
  6. K8S集群搭建:安装kubeadm集群部署工具
  7. 读取STM32单片机-ID操作
  8. 隧道6in4 和隧道6to4(GNS3)
  9. WebApp基础01-设置读取assets目录下文件
  10. flyway版本号_Spring Boot 集成 Flyway 实现数据库版本控制
  11. 映射date类型_SQLALchemy常见数据类型
  12. 苹果高管谈论iPhone 12影像功能:硬件和软件的整体结合
  13. java 安卓蓝牙程序_求Java大神帮忙,简单修改下安卓蓝牙串口输出程序代码!!急...
  14. JavaSceipt核心语法——运算符
  15. Latex图表设置中英文双标题(非ccaption宏包)
  16. linux 蓝牙打印机
  17. CoreImage核心图像图像处理
  18. 如何运行jnlp文件
  19. DSP的DMA流程详解(状态图)
  20. Git学习二、GitLab官网,安装自己的一个私有Gitlab代码管理库

热门文章

  1. (step8.2.6)hdu 1848(Fibonacci again and again——组合博弈)
  2. IDEA+Maven+Springboot:invalid bound statement (not found) 解决办法
  3. linux 用户管理(3)----查看用户登录时间以及命令历史
  4. android monitor 汉化
  5. 深入javascript——构造函数和原型对象
  6. (转载) 数组a[]={3,5,2,4,1,8},要求从a中找出所有“和”等于10的子集
  7. Dialplan 编程基础
  8. 英特尔CEO:微软Windows 7是PC更新的催化剂
  9. 【本人秃顶程序员】使用Spring Cloud Stream和RabbitMQ实现事件驱动的微服务
  10. activeMQ Jms Demo