Graphviz Alternatives?

vy32 picture vy32 · Jan 27, 2011 · Viewed 36.8k times · Source

I'm looking for alternatives to GraphViz. I've been using GraphViz for more than a decade and it's okay, but the layouts are just not producing publication-quality graphs for me given my input data. Sometimes my data is really big and complex, and sometimes it isn't, but GraphViz never really makes stuff that's beautiful.

What other graph visualization tools are people using? Ideally there's one that uses the GraphViz syntax for input file.

Here for example is an input file I'm playing with:

digraph mdc {    
  size="4,8";    
  "KJ1E:A6:PAN:9E:3A" -> "JUNK-0PAN0-FOO";    
  "KJ1E:A6:PAN:9E:3A" -> "JUNK-0047-FOO";    
  "KJ1E:A6:PAN:9E:3A" -> "JUNK-0048-FOO";    
  "KJ1E:A6:PAN:9E:3A" -> "JUNK-0050-FOO";    
  "KJ1E:A6:PAN:9E:3A" -> "JUNK-0051-FOO";    
  "KJ1E:A6:PAN:9E:3A" -> "JUNK-0052-FOO";    
  "KJ1E:A6:PAN:9E:3A" -> "JUNK-0009-FOO";    
  "KJ16:76:A2:60:6E" -> "JUNK-0413-FOO";    
  "KJ16:76:A2:60:6E" -> "JUNK-0414-FOO";    
  "KJE0:D0:13:14:94" -> "GEORGE42-FRED";    
  "KJE0:D0:13:14:94" -> "MY5-30-FRED";    
  "KJ50:04:EE:6C:F9" -> "PSPAN-036-FRED";    
  "KJ50:04:EE:6C:F9" -> "GEORGE02-FRED";    
  "KJ50:04:EE:6C:F9" -> "GEORGE04-FRED";    
  "KJ1B:B9:9B:D5:BB" -> "JUNK-0047-FOO";    
  "KJ1B:B9:9B:D5:BB" -> "JUNK-0048-FOO";    
  "KJ05:5F:EF:14:PAN" -> "thPAN-PAN-FRED";    
  "KJ05:5F:EF:14:PAN" -> "cn20-PAN-FRED";    
  "KJ15:F2-KIM-:E5YF" -> "thPAN-PAN-FRED";    
  "KJ15:F2-KIM-:E5YF" -> "cn20-PAN-FRED";    
  "KJ0E:90:D5:E6:5E" -> "JUNK-0051-FOO";    
  "KJ0E:90:D5:E6:5E" -> "JUNK-0009-FOO";    
  "KJ1E:90:DE:F1:07" -> "JUNK-0051-FOO";    
  "KJ1E:90:DE:F1:07" -> "JUNK-0009-FOO";    
  "KJ1E:90:D5:EE:5E" -> "JUNK-0051-FOO";    
  "KJ1E:90:D5:EE:5E" -> "JUNK-0047-FOO";    
  "KJ1E:90:D5:EE:5E" -> "JUNK-0009-FOO";    
  "KJ04:ED:66:C7:19" -> "JUNK-0562-FOO";    
  "KJ04:ED:66:C7:19" -> "JUNK-0561-FOO";    
  "KJ1B:B9:9C-PET-67" -> "JUNK-0047-FOO";    
  "KJ1B:B9:9C-PET-67" -> "JUNK-0049-FOO";    
  "PAN:KJ5E:7F:FF:FA" -> "JUNK-0PAN4-FOO";    
  "PAN:KJ5E:7F:FF:FA" -> "PSPAN-021-FRED";    
  "PAN:KJ5E:7F:FF:FA" -> "GEORGE38-FRED";    
  "PAN:KJ5E:7F:FF:FA" -> "JUNK-0095-FOO";    
  "PAN:KJ5E:7F:FF:FA" -> "JUNK-PAN18-FOO";    
  "KJ1B:B9:9B:D3:61" -> "JUNK-0PAN0-FOO";    
  "KJ1B:B9:9B:D3:61" -> "JUNK-0051-FOO";    
  "KJ1B:B9:9B:D3:61" -> "JUNK-0052-FOO";    
  "KJ1B:B9:9B:D3:61" -> "JUNK-0009-FOO";    
  "KJ26:18:BD:D9:E9" -> "JUNK-0562-FOO";    
  "KJ26:18:BD:D9:E9" -> "JUNK-0561-FOO";    
  "KJD0:B7:69:0A-VET" -> "cn4-06-FRED";    
  "KJD0:B7:69:0A-VET" -> "1039-FRED";    
 "KJ50:04:EE:6C:F9" [fontsize=96,shape=oval]    
 "KJ1E:90:DE:F1:07" [fontsize=96,shape=oval]    
 "KJ05:5F:EF:14:PAN" [fontsize=96,shape=oval]    
 "KJ26:18:BD:D9:E9" [fontsize=96,shape=oval]    
 "KJ1B:B9:9B:D5:BB" [fontsize=96,shape=oval]    
 "KJE0:D0:13:14:94" [fontsize=96,shape=oval]    
 "KJ0E:90:D5:E6:5E" [fontsize=96,shape=oval]    
 "KJ1E:A6:PAN:9E:3A" [fontsize=96,shape=oval]    
 "KJ1E:90:D5:EE:5E" [fontsize=96,shape=oval]    
 "PAN:KJ5E:7F:FF:FA" [fontsize=96,shape=oval]    
 "KJ1B:B9:9B:D3:61" [fontsize=96,shape=oval]    
 "KJ1B:B9:9C-PET-67" [fontsize=96,shape=oval]    
 "KJ15:F2-KIM-:E5YF" [fontsize=96,shape=oval]    
 "KJD0:B7:69:0A-VET" [fontsize=96,shape=oval]    
 "KJ04:ED:66:C7:19" [fontsize=96,shape=oval]    
 "KJ16:76:A2:60:6E" [fontsize=96,shape=oval]    
 "JUNK-0009-FOO" [fontsize=96,shape=box3d]    
 "GEORGE38-FRED" [fontsize=96,shape=box3d]    
 "JUNK-0413-FOO" [fontsize=96,shape=box3d]    
 "JUNK-0561-FOO" [fontsize=96,shape=box3d]    
 "JUNK-0050-FOO" [fontsize=96,shape=box3d]    
 "cn20-PAN-FRED" [fontsize=96,shape=box3d]    
 "JUNK-PAN18-FOO" [fontsize=96,shape=box3d]    
 "1039-FRED" [fontsize=96,shape=box3d]    
 "JUNK-0095-FOO" [fontsize=96,shape=box3d]    
 "PSPAN-021-FRED" [fontsize=96,shape=box3d]    
 "JUNK-0048-FOO" [fontsize=96,shape=box3d]    
 "JUNK-0052-FOO" [fontsize=96,shape=box3d]    
 "GEORGE42-FRED" [fontsize=96,shape=box3d]    
 "JUNK-0049-FOO" [fontsize=96,shape=box3d]    
 "GEORGE04-FRED" [fontsize=96,shape=box3d]    
 "cn4-06-FRED" [fontsize=96,shape=box3d]    
 "thPAN-PAN-FRED" [fontsize=96,shape=box3d]    
 "GEORGE02-FRED" [fontsize=96,shape=box3d]    
 "JUNK-0PAN0-FOO" [fontsize=96,shape=box3d]    
 "MY5-30-FRED" [fontsize=96,shape=box3d]    
 "JUNK-0047-FOO" [fontsize=96,shape=box3d]    
 "JUNK-0562-FOO" [fontsize=96,shape=box3d]    
 "JUNK-0PAN4-FOO" [fontsize=96,shape=box3d]    
 "JUNK-0051-FOO" [fontsize=96,shape=box3d]    
 "PSPAN-036-FRED" [fontsize=96,shape=box3d]    
 "JUNK-0414-FOO" [fontsize=96,shape=box3d]    
}    

(All of the fontsize=96 are my vain attempt to get graphviz to make the font more readable, but apparently it doesn't work.)

Answer

Mert Nuhoglu picture Mert Nuhoglu · Mar 30, 2012

Gephi is an amazingly good, open source graph visualization software. It uses dot language like GraphViz.