Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用graph_工具获得格点图的xy坐标_Python_Graph_Coordinates_Graph Tool - Fatal编程技术网

Python 如何使用graph_工具获得格点图的xy坐标

Python 如何使用graph_工具获得格点图的xy坐标,python,graph,coordinates,graph-tool,Python,Graph,Coordinates,Graph Tool,我正在使用graph\u工具创建一个晶格图。我正在尝试创建一个属性映射,它表示图形中的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.ver

我正在使用
graph\u工具
创建一个晶格图。我正在尝试创建一个属性映射,它表示图形中的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\u布局时,我的方向是否正确

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

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

注意:
arange
是一个numpy函数,因此如果未定义,可能需要
np.arange