from igraph import * g = Graph(directed=True) # directed edges g.add_vertices(5) g.add_edges( [ (0, 0) ] ); # graphObject.add_edges( [ (start_vertex, end_vertex) ] ) g.add_edges( [ (0, 1) ] ); g.add_edges( [ (1, 2) ] ); g.add_edges( [ (2, 3) ] ); g.add_edges( [ (3, 4) ] ); g.add_edges( [ (4, 3) ] ); g.add_edges( [ (3, 5) ] ); g.add_edges( [ (4, 4) ] ); g.add_edges( [ (5, 2) ] ); # g.layout_graphopt() is just one layout algorithm, # others are available @ http://cneurocvs.rmki.kfki.hu/igraph/doc/python/igraph.GraphBase-class.html plot(g, layout = g.layout_graphopt() )