利用图求格图的xy坐标_

2024-04-27 04:04:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用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")

graph with vertex numbers

在上面的代码中,pos[0]的值是array([-16.4148811 , -11.80299953])

我使用sfdp_layout的方向正确吗?你知道吗


Tags: pos图形output宽度高度属性tool晶格
1条回答
网友
1楼 · 发布于 2024-04-27 04:04:34

顶点根据行的主要顺序进行编号,因此您可以根据它们的索引计算坐标:

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")

enter image description here

相关问题 更多 >