如何使用graph_tool获得晶格图的X Y坐标

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用graph_tool获得晶格图的X Y坐标相关的知识,希望对你有一定的参考价值。

我正在使用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正确的方向吗?

答案

顶点根据行主要顺序编号,因此您只需从其索引计算坐标:

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

以上是关于如何使用graph_tool获得晶格图的X Y坐标的主要内容,如果未能解决你的问题,请参考以下文章

在晶格图形上用回归线绘制 xyplot

python 如何绘制子图的同时绘制双坐标轴图像

在 python matplotlib 中绘制 (x, y) 坐标列表

如何使用 Autodesk Forge 查看器在 3D 模型中查找位置(x、y、z 坐标)

Echarts 力导向图的连线,怎么配置不同长度

堆栈图中选择条的 X 和 Y 坐标