In [2]:
from graphviz import Digraph
In [3]:
adj = {};
def addEdge(v, w):
bag = adj.get(v, set())
bag.add(w)
adj[v] = bag
def removeEdge(v, w):
bag = adj.get(v)
if bag is not None:
bag.remove(w)
adj[v] = bag
In [4]:
addEdge(0, 1)
addEdge(1, 0)
addEdge(1, 2)
addEdge(3, 4)
addEdge(0, 3)
addEdge(2, 0)
In [5]:
print(adj)
#removeEdge(0,1)
#print(adj)
g = Digraph(comment = 'My graph')
for n in adj.keys():
for a in adj.get(n):
g.edge(str(n), str(a), str(n), color='red', arrowhead = 'open', style = 'dashed')
g
Out[5]:
In [10]:
dot = Digraph(comment='The Round Table')
In [11]:
dot.node('A', 'King Arthur')
dot.node('B', 'Sir Bedevere the Wise')
dot.node('L', 'Sir Lancelot the Brave')
dot.node('G', 'Guinevere')
dot.edges(['AB', 'AL'])
dot.edge('B', 'L', constraint='false')
dot.edge('L', 'G')
dot
Out[11]:
In [8]:
print(dot.source)
In [57]:
dot.render('test-output/round-table.gv', view=True)
Out[57]:
In [ ]: