如何使用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")
在上面的代码中,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坐标的主要内容,如果未能解决你的问题,请参考以下文章
在 python matplotlib 中绘制 (x, y) 坐标列表