thirdparty/python-graph/examples/ex1.py
changeset 594 06c2228e39cb
equal deleted inserted replaced
593:01f8c7aabb7e 594:06c2228e39cb
       
     1 #!/usr/bin/env python
       
     2 
       
     3 # Copyright (c) 2007-2008 Pedro Matiello <pmatiello@gmail.com>
       
     4 # License: MIT (see COPYING file)
       
     5 
       
     6 import sys
       
     7 sys.path.append('..')
       
     8 import graph
       
     9 sys.path.append('/usr/lib/graphviz/python/')
       
    10 import gv
       
    11 
       
    12 # Graph creation
       
    13 gr = graph.graph()
       
    14 
       
    15 # Add nodes and edges
       
    16 gr.add_nodes(["Portugal","Spain","France","Germany","Belgium","Netherlands","Italy"])
       
    17 gr.add_nodes(["Switzerland","Austria","Denmark","Poland","Czech Republic","Slovakia","Hungary"])
       
    18 gr.add_nodes(["England","Ireland","Scotland","Wales"])
       
    19 
       
    20 gr.add_edge("Portugal", "Spain")
       
    21 gr.add_edge("Spain","France")
       
    22 gr.add_edge("France","Belgium")
       
    23 gr.add_edge("France","Germany")
       
    24 gr.add_edge("France","Italy",)
       
    25 gr.add_edge("Belgium","Netherlands")
       
    26 gr.add_edge("Germany","Belgium")
       
    27 gr.add_edge("Germany","Netherlands")
       
    28 gr.add_edge("England","Wales")
       
    29 gr.add_edge("England","Scotland")
       
    30 gr.add_edge("Scotland","Wales")
       
    31 gr.add_edge("Switzerland","Austria")
       
    32 gr.add_edge("Switzerland","Germany")
       
    33 gr.add_edge("Switzerland","France")
       
    34 gr.add_edge("Switzerland","Italy")
       
    35 gr.add_edge("Austria","Germany")
       
    36 gr.add_edge("Austria","Italy")
       
    37 gr.add_edge("Austria","Czech Republic")
       
    38 gr.add_edge("Austria","Slovakia")
       
    39 gr.add_edge("Austria","Hungary")
       
    40 gr.add_edge("Denmark","Germany")
       
    41 gr.add_edge("Poland","Czech Republic")
       
    42 gr.add_edge("Poland","Slovakia")
       
    43 gr.add_edge("Poland","Germany")
       
    44 gr.add_edge("Czech Republic","Slovakia")
       
    45 gr.add_edge("Czech Republic","Germany")
       
    46 gr.add_edge("Slovakia","Hungary")
       
    47 
       
    48 # Draw as PNG
       
    49 dot = gr.write(fmt='dot')
       
    50 gvv = gv.readstring(dot)
       
    51 gv.layout(gvv,'dot')
       
    52 gv.render(gvv,'png','europe.png')
       
    53 
       
    54 # Then, draw the breadth first search spanning tree rooted in Switzerland
       
    55 st, order = gr.breadth_first_search(root="Switzerland")
       
    56 gst = graph.digraph()
       
    57 gst.add_spanning_tree(st)
       
    58 
       
    59 dot = gst.write(fmt='dot')
       
    60 gvv = gv.readstring(dot)
       
    61 
       
    62 gv.layout(gvv,'dot')
       
    63 gv.render(gvv,'png','europe-st.png')
       
    64 
       
    65