Tree plotting in Python
Question: I want to plot trees using Python. Decision trees, Organizational charts, etc.
Any library that helps me with that?


Answer: There's graphviz - <http://www.graphviz.org/>. It uses the "DOT" language to
plot graphs. You can either generate the DOT code yourself, or use pydot -
<https://code.google.com/p/pydot/>. You could also use networkx -
<http://networkx.lanl.gov/tutorial/tutorial.html#drawing-graphs>, which make
it easy to draw to either graphviz or matplotlib.

networkx + matplotlib + graphviz gives you the most flexibility and power, but
you need to install a lot.

If you want a quick solution, try:

Install Graphviz.

    
    
    open('hello.dot','w').write("digraph G {Hello->World}")
    import subprocess
    subprocess.call(["path/to/dot.exe","-Tpng","hello.dot","-o","graph1.png"]) 
    # I think this is right - try it form the command line to debug
    

Then you install pydot, because pydot already does this for you. Then you can
use networkx to "drive" pydot.

