【问题标题】:How to build a bipartite using networkx (python)如何使用networkx(python)构建二分体
【发布时间】:2020-10-25 18:07:59
【问题描述】:

为什么结果显示为 False?

import networkx as nx
P1 = [1, 2, 3]
P2 = ["a", "b", "c"]
PPI = list(zip(P1, P2))
B = nx.Graph()
B.add_nodes_from(P1, bipartite=0)
B.add_nodes_from(P2, bipartite=1)
B.add_edges_from(PPI)
print(nx.is_connected(B))

【问题讨论】:

    标签: python-3.x networkx graph-theory bipartite


    【解决方案1】:

    因为您的图表未连接。当您绘制图表时:

    您看到您有 3 个未连接的子图(即没有连接它们的边)。但是你的图表是bipartite

    print(nx.is_bipartite(B))
    

    输出:

    True
    

    一个连通的二分图如下所示:

    import networkx as nx
    P1 = [1, 2, 3]
    P2 = ["a", "b", "c"]
    PPI = [(1, 'a'), (2, 'b'), (3, 'c'), (1, 'b'), (2, 'c')]
    B = nx.Graph()
    B.add_nodes_from(P1, bipartite=0)
    B.add_nodes_from(P2, bipartite=1)
    B.add_edges_from(PPI)
    print(nx.is_connected(B))
    print(nx.is_bipartite(B))
    

    输出:

    True
    True
    

    【讨论】:

    • 感谢您的回答。对理解很有帮助!如果我想在给定的示例中绘制未连接的二分图,该怎么做并让两组节点具有不同的颜色和位置?谢谢
    • @Ricky 请为此提出一个单独的问题。但请记住,stackoverflow 上的一个好问题显示了您自己尝试过的内容,因此您之前应该检查过这个answer
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-21
    • 1970-01-01
    • 1970-01-01
    • 2019-03-12
    • 2015-01-09
    • 2021-02-24
    相关资源
    最近更新 更多