python graph-tool中的显式顶点位置

发布于 2024-12-08 19:07:48 字数 782 浏览 0 评论 0原文

我正在使用 python 图形工具。为了绘制图表,它使用 graph_draw 函数。我想将顶点位置显式发送到点引擎。事实证明,我可以传递一个名为 pos 的属性映射。我尝试将其定义为 v_pos = g.new_vertex_property("vector") 其中 g 是我的图表。我不确定这是否是正确的方法。

有一个代码片段可能会对您有所帮助。

pos = gt.random_layout(g, shape=shape, dim=3)
>>> pos[g.vertex(0)].a
array([ 86.59969709,   1.31435598,   0.64651486])
graph_draw(g, pos=pos, output="graph-draw-random.pdf")

如果我要将顶点位置定义为 (0,2)、(0,4) ... (0,8),我该怎么办?

在上面的代码片段中,我可以将 dim 更改为 2。但我不想要随机布局。

作为参考,这是我正在使用的这个工具的主页。 http://projects.skewed.de/graph-tool/

I am using python graph-tool. To draw graphs, it uses graph_draw function. I want to send vertex positions explicitly to dot engine. It turns out that I can pass a property map named pos. I tried defining it as v_pos = g.new_vertex_property("vector<double>") where g is my graph. I am not sure if it is the right way to do it.

There is one code snippet which you might find helpful.

pos = gt.random_layout(g, shape=shape, dim=3)
>>> pos[g.vertex(0)].a
array([ 86.59969709,   1.31435598,   0.64651486])
graph_draw(g, pos=pos, output="graph-draw-random.pdf")

What should I do if I were to define my vertex position at (0,2), (0,4) ... (0,8)?

In above code snippet, I can change dim to 2. But I don't want random layout.

For reference, here is the home-page of this tool I am using. http://projects.skewed.de/graph-tool/

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

岁月如刀 2024-12-15 19:07:48

您可以简单地设置位置,如下所示:

   pos = g.new_vertex_property("vector<double>")
   pos[g.vertex(0)] = (0, 2)
   pos[g.vertex(1)] = (0, 4)
   ...

You can set the positions trivially as follows:

   pos = g.new_vertex_property("vector<double>")
   pos[g.vertex(0)] = (0, 2)
   pos[g.vertex(1)] = (0, 4)
   ...
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文