如何在图形工具中内化PropertyMap

时间:2014-09-26 14:00:48

标签: python graph-tool

我正在使用python包graph-tool,并且试图内化布尔PropertyMap时遇到错误,这是http://graph-tool.skewed.de/static/doc/quickstart.html#graph-views中描述的方式。这是一个示例代码:

from graph_tool.all import *

g = price_network(500)
filtered = g.new_vertex_property("bool")
for v in g.vertices(): 
    filtered[v] = True

g.properties["filtered"] = filtered

最后一行产生

TypeError: value for 't' must be one of: v, e, g

任何人都知道如何正确使用它?

1 个答案:

答案 0 :(得分:4)

正如documentation中所述,您应该使用vertex_properties属性:

g.vertex_properties["filtered"] = filtered

或等效地:

g.vp["filtered"] = filtered

如果您想直接使用properties属性,您还必须传递密钥类型:

g.properties[('v', "filtered")] = filtered

这是因为不同类型的属性贴图(例如顶点或边)可以具有相同的名称。这全部涵盖here