Du könntest statt SVG::Graph vielleicht Graphviz benutzen. Damit kannst du am Ende einfach mit as_svg() deine Grafik als SVG oder halt mit as_jpeg() als JPEG ausgeben.
Ob das, was Graphviz kann allerdings für deine Bedürfnisse ausreicht kann ich nicht sagen.