使用Python根据节点列表绘制有向图

qcuzuvrc  于 2023-02-21  发布在  Python
关注(0)|答案(1)|浏览(180)

这是我想结束的图形,但开始,它将是伟大的,有简单的巴士迟到和睡过头,而不考虑节点上的警报。

我想知道如何在Python上从一个节点列表开始绘制一个有向图。我知道我必须使用networkX,但是我遇到了一些麻烦;
假设一个特定列表中的所有节点都链接到另一个外部节点x,那么如果我有一个节点列表:nodes = [1,2,3],我将需要边缘((1,0),(2,0),(3,0));那么,我怎样才能画出这个特定的图表呢?
我被困在这里,基本上我已经创建了一个有向图,但我不知道如何绘制它:

import networkx as nx
    import matplotlib.pyplot as plt
    
    G = nx.Graph()
    nodes = [1,2,3]
    
    terminal = [0]
    G.add_nodes_from(nodes)
    
    edges = []
    
    for i in range(len(nodes)):
        edges.append((0, nodes[i]))
    
    G.add_edges_from(edges)
    
    H = nx.DiGraph(G)

另外,我想以后用它来做贝叶斯网络,有什么建议吗?
任何帮助都将不胜感激

wydwbb8l

wydwbb8l1#

关于:

import networkx as nx
from itertools import product

nodes = [1, 2, 3]
terminal = [0]

G = nx.from_edgelist(product(nodes, terminal), create_using=nx.DiGraph)

结果图:

nx.draw(G, pos=nx.spring_layout(G), with_labels=True)

输出:

或者使用graphviz

相关问题