如何使用 graph_tool 获取点阵图的 X Y 坐标
How to get X Y coordinates of lattice graph using graph_tool
我正在使用 graph_tool
创建点阵图。我正在尝试创建一个代表图中 X Y 坐标的 属性 地图。例如,如果我创建一个高度为 5、宽度为 10 的点阵图,我希望顶点 0 的 属性 映射的值为 [0, 0],顶点 1 为 [1, 0], 顶点 10 为 [0, 1], 等等
我使用以下代码生成了图像:
g = lattice([10, 5])
pos = sfdp_layout(graph)
graph_draw(graph, pos=pos, output_size=(500,500), vertex_text=graph.vertex_index, output="lattice.png")
在上面的代码中 pos[0]
的值是 array([-16.4148811 , -11.80299953])
我使用 sfdp_layout
的方向是否正确?
顶点按照行优先顺序进行编号,因此您可以根据它们的索引计算坐标:
g = lattice([10, 5])
x = g.new_vp("double", arange(g.num_vertices()) % 10)
y = g.new_vp("double", arange(g.num_vertices()) // 10)
pos = group_vector_property([x,y])
graph_draw(g, pos, output="lattice.png")
我正在使用 graph_tool
创建点阵图。我正在尝试创建一个代表图中 X Y 坐标的 属性 地图。例如,如果我创建一个高度为 5、宽度为 10 的点阵图,我希望顶点 0 的 属性 映射的值为 [0, 0],顶点 1 为 [1, 0], 顶点 10 为 [0, 1], 等等
我使用以下代码生成了图像:
g = lattice([10, 5])
pos = sfdp_layout(graph)
graph_draw(graph, pos=pos, output_size=(500,500), vertex_text=graph.vertex_index, output="lattice.png")
在上面的代码中 pos[0]
的值是 array([-16.4148811 , -11.80299953])
我使用 sfdp_layout
的方向是否正确?
顶点按照行优先顺序进行编号,因此您可以根据它们的索引计算坐标:
g = lattice([10, 5])
x = g.new_vp("double", arange(g.num_vertices()) % 10)
y = g.new_vp("double", arange(g.num_vertices()) // 10)
pos = group_vector_property([x,y])
graph_draw(g, pos, output="lattice.png")