Rendering a dynamically created family graph with no overlapping using a depth first search??

I want to generate this: With this data structure (ids are random, btw not sequential): var tree = [ { "id":...