【问题标题】:Adding multiple directed edges in networkx在networkx中添加多个有向边
【发布时间】:2021-05-05 22:49:38
【问题描述】:

我知道这应该是非常基本的,但我不知道如何使用 networkx 来做到这一点。我想做的是创建一个有 20 个节点的 MultiDiGraph。将有 2 条边将每个节点相互连接,一条远离节点,另一条朝向节点。我无法创建这些边缘。任何帮助将不胜感激。它应该看起来像我附上的图片。

【问题讨论】:

    标签: python graph nodes networkx edges


    【解决方案1】:

    您可以创建一个图,然后将其转换为有向图。通过这种方式,您可以在两个方向上获得边缘:

    import networkx as nx
    
    g = nx.Graph()
    g.add_edges_from([(0, 1), (1, 2), (1, 3)])
    g = g.to_directed()
    
    >>> g.edges
    OutEdgeView([(0, 1), (1, 0), (1, 2), (1, 3), (2, 1), (3, 1)])
    

    如果要生成n个节点的完整有向图:

    import networkx as nx
    
    g = nx.complete_graph(4).to_directed()
    
    >>> g.edges
    OutEdgeView([(0, 1), (0, 2), (0, 3), (1, 0), (1, 2), (1, 3), (2, 0), (2, 1), (2, 3), (3, 0), (3, 1), (3, 2)])
    

    【讨论】:

    • 非常感谢您的帮助!
    猜你喜欢
    • 2017-06-28
    • 1970-01-01
    • 1970-01-01
    • 2019-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-23
    • 1970-01-01
    相关资源
    最近更新 更多