That's the ending graph that I would like to end up with, but to begin with it would be great to have simply bus late and overslept without considering the alarm on node.
I would like to know how to draw a directed graph on Python starting from a list of nodes. I know that I have to use networkX but I'm having some troubles;
Let's say that all the nodes from a specific list are linked to another external node, called x, so if I have the list of nodes : nodes = [1,2,3]
, I will want edges ((1,0),(2,0),(3,0))
; How could I draw then this specific graph?
I got stuck here, basically I have created a directed graph I think, but I don't know how to draw it:
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)
Furthermore, I want to later use it for a Bayesian Network, any suggestions?
Any help will be greatly appreciated
What about:
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)
Resulting graph:
nx.draw(G, pos=nx.spring_layout(G), with_labels=True)
Output:
Or with graphviz
: