【问题标题】:Which Networkx graphs could be used?可以使用哪些 Networkx 图?
【发布时间】:2015-05-02 15:43:39
【问题描述】:

我有一个混合性质的数据。数据具有混合在一起的节点、边和社区,我想将它们绘制成图表并可视化它们以了解模式。我正在寻找类似附图的东西。 这里不知道学位。我确实检查了networkx 文档,但找不到任何接近我正在寻找的东西。这是一个无向和无向图。我可以分离数据并将它们绘制成不同的格式,但在实时分离方面是不可能的。数据就像流一样,这些独立的节点可以或可能在未来的数据出现中形成社区,因此无法将它们分开。

数据模式如下所示

2344
2424 3535
2445
2434 5525 3454 4335 2355
2342 3453 5555 2425 5255
3423 2525
2344
5234 3455 4555

节点、边和社区在时间间隔内表现出重复的行为

【问题讨论】:

    标签: python-2.7 matplotlib graph networkx


    【解决方案1】:

    您可以使用 NetworkX 的标准无向图类中的 herehere 中的方法/函数 add_nodes_from()add_edges_from()。这样,您可以随着数据流的到来逐步创建图表。 您所要做的就是将数据转换为正确的格式,并将其“逐行”传递给两个函数。如果它们不存在,它们只会将节点或边添加到您的图形中。 add_edges_from() 还添加了已添加边的新节点,但这显然不适用于只有一个节点的数据线,因为一个节点不会形成边。 我建议做这样的事情:

    import networkx as nx
    
    # create empty graph
    G = nx.Graph()
    
    # read data
    data = ...
    
    # assuming you can acces the lines of your data through an iterator, add them to the graph
    for line in data:
        G.add_nodes_from(line)
        # get the number of nodes in the data line
        number_of_nodes = get_number_of_nodes(line)
        if number_of_nodes > 1:
            # get edgelist from data line and add it to the graph
            edgelist = get_edgelist(line)
            G.add_edges_from(edgelist)
    

    “转换器功能”get_number_of_nodes()get_edgelist() 当然还有一些工作要做,但这是一个开始......

    【讨论】:

      猜你喜欢
      • 2011-12-20
      • 1970-01-01
      • 1970-01-01
      • 2023-03-09
      • 2011-11-14
      • 2021-05-20
      • 2011-12-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多