Python - 图相关知识(一)Graph-tools

本文详细讲解了在Python中使用Graph-tools创建、操作有向图和无向图,涉及节点添加、删除、索引、度量,边的建立与删除,以及属性映射。最后展示了图形导出至PDF的功能。
部署运行你感兴趣的模型镜像

Python - 图相关知识(一)Graph-tools

导入包

from graph_tool.all import *

1、创建一个图

有向图

g = Graph()

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

2、创建节点

# 创建一个节点,返回顶点描述符(顶点类的一个实例),存放在v1中
v1 = g.add_vertex()

# 创建多个节点, 创建10个顶点,返回有10个顶点的描述符迭代器
vlist = g.add_vertex(10)

# 删除节点
g.remove_vertex(v2)

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

# 遍历顶点
for v in g.verices():
	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 e

print'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.edeg(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、属性映射:将额外的信息添加到顶点或者边上

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

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

# 为边添加属性
eprop = g.new_edge_property("string")
g.edge_properties["sometime"] = eprop
g.list_properties()

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值