Nun ja. Vielleicht einen Layouter und einen Renderer. Der Layouter sollte die Knoten so plazieren, das sie gleichmäßig angeordnet sind und sich die Verbindungen möglichst nicht überschneiden.
Und der Renderer malt.
Also ein klitzekleinwenig mehr braucht es schon. Und -wie ich finde- sind das die größten Humpen, wobei der Renderer auch keine Hürde ist.