如何在 Python Igraph 中设置节点的坐标

Nik*_*hil 3 python igraph

我必须使用 python iGraph 绘制图形,我想知道是否可以预定义节点的 x 坐标和 y 坐标,如果可以,如何?

Tam*_*más 5

只需layoutplot函数的参数提供一个坐标列表。例如:

>>> g = Graph.Ring(4, circular=False)
>>> layout = [(0,0), (0,1), (1,1), (1,0)]
>>> plot(g, layout=layout)
Run Code Online (Sandbox Code Playgroud)

请注意,igraph 将沿 X 轴和 Y 轴独立地重新缩放您的布局,以确保它适合绘图的边界框。如果您有自定义布局,并且要确保保持布局的纵横比,则还必须明确指定边界框和边距。例如,如果您的布局宽度是其高度的两倍,那么您需要一个宽度也是其两倍的绘图。一个 800 x 400 像素的边界框可以:

>>> plot(g, layout=layout, margin=0, bbox=(800,400))
Run Code Online (Sandbox Code Playgroud)