在networkx中,我可以使用的第二个参数输入要绘制的节点的位置
nx.draw(G, pos)
例如,我可以做这样的事情:
pos[sourceNode]=(x1,y1)
pos[targetNode]=(x2,y2)
我知道i-graph具有一个参数布局,但是我无法发现如何使用它!
你能帮助我吗?
你是对的; 为了自己定位节点,您需要使用的layout
参数plot
。以下是一些基本示例,显示了如何使用自动布局功能以及如何制作自己的布局。
首先,让我们以一个简单的图形为例。我正在设置随机种子,以便可以重现我的结果。
from igraph import *
import random
random.seed(123)
g = Graph.Erdos_Renyi(5, 0.5)
plot(g)
当您只是这样绘制时,就无法控制布局。
有许多内置函数可使用特定算法生成布局。
LO = g.layout_kamada_kawai()
plot(g, layout=LO)
但是,如果要完全控制,则需要构建自己的布局。布局只是[x,y]对的序列,表示对放置节点的位置。尽管x以预期的方式工作,但低y坐标在顶部,高y值在底部,因此您需要做一些转置以设置布局。
LO = [[0.0,1.0], [1.0,0.0], [1.0,1.0], [0.0,0.0], [0.5,-0.5]]
plot(g, layout=LO)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句