【问题标题】:i-graph-python argument equivalent to pos in networkxi-graph-python 参数等效于 networkx 中的 pos
【发布时间】:2019-03-22 05:56:50
【问题描述】:

在networkx中,我可以使用

的第二个参数输入要绘制的节点的位置
nx.draw(G, pos)

例如,我可以这样做:

    pos[sourceNode]=(x1,y1)
    pos[targetNode]=(x2,y2)        

我知道 i-graph 有一个参数布局,但我不知道如何使用它!

你能帮帮我吗?

【问题讨论】:

    标签: python-3.x igraph networkx


    【解决方案1】:

    你是对的;为了自己定位节点,您需要使用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) 
    

    【讨论】:

      猜你喜欢
      • 2016-05-03
      • 1970-01-01
      • 2019-03-29
      • 1970-01-01
      • 1970-01-01
      • 2017-02-09
      • 1970-01-01
      • 2017-08-31
      • 1970-01-01
      相关资源
      最近更新 更多