【问题标题】:Graphviz Alternatives? [closed]Graphviz 替代品? [关闭]
【发布时间】:2011-06-16 05:12:20
【问题描述】:

我正在寻找 GraphViz 的替代品。我已经使用 GraphViz 十多年了,没关系,但是考虑到我的输入数据,布局并没有为我生成出版质量的图表。有时我的数据非常庞大而复杂,有时则不然,但 GraphViz 从来没有真正做出过漂亮的东西。

人们还在使用哪些其他图形可视化工具?理想情况下,有一个使用 GraphViz 语法作为输入文件。

例如,这是我正在使用的输入文件:

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]    
}    

(所有fontsize=96 都是我徒劳地尝试让graphviz 使字体更具可读性,但显然它不起作用。)

【问题讨论】:

标签: graphviz graph-visualization


【解决方案1】:

Gephi 是一款非常出色的开源图形可视化软件。它使用像 GraphViz 这样的点语言。

【讨论】:

  • Gephi 非常漂亮,但遗憾的是不支持 dot 中的子图(以及其他一些功能。来自Gephi docs:“Gephi 目前不提供对 DOT 格式的完整支持。子图不支持,也不支持自定义属性或大小。仅导入标签和颜色(如果存在)。支持有向图和无向图。"
【解决方案2】:

有什么不喜欢的?

我个人不会使用box3d,而且我选择的颜色可能会伤害你的眼睛......

(全尺寸图片:http://i.stack.imgur.com/MTe6n.png

编辑:

这是修改后的点代码 - 我稍微重新组织了一下:

digraph {
size="11,11";
layout=neato;
overlap=false;
splines=true;
pack=true;
start="random";
sep=0.1;

edge [len=2];
node[shape=oval,style=filled,fillcolor="#DCA80A"];

 "KJ50:04:EE:6C:F9"
 "KJ1E:90:DE:F1:07"
 "KJ05:5F:EF:14:PAN"
 "KJ26:18:BD:D9:E9"
 "KJ1B:B9:9B:D5:BB"
 "KJE0:D0:13:14:94"
 "KJ0E:90:D5:E6:5E"
 "KJ1E:A6:PAN:9E:3A"
 "KJ1E:90:D5:EE:5E"
 "PAN:KJ5E:7F:FF:FA"
 "KJ1B:B9:9B:D3:61"
 "KJ1B:B9:9C-PET-67"
 "KJ15:F2-KIM-:E5YF"
 "KJD0:B7:69:0A-VET"
 "KJ04:ED:66:C7:19"
 "KJ16:76:A2:60:6E"

node[shape=box3d,style=filled,fillcolor="#B1C3D4"];
 "JUNK-0009-FOO"
 "GEORGE38-FRED"
 "JUNK-0413-FOO"
 "JUNK-0561-FOO"
 "JUNK-0050-FOO"
 "cn20-PAN-FRED"
 "JUNK-PAN18-FOO"
 "1039-FRED"
 "JUNK-0095-FOO"
 "PSPAN-021-FRED"
 "JUNK-0048-FOO"
 "JUNK-0052-FOO"
 "GEORGE42-FRED"
 "JUNK-0049-FOO"
 "GEORGE04-FRED"
 "cn4-06-FRED"
 "thPAN-PAN-FRED"
 "GEORGE02-FRED"
 "JUNK-0PAN0-FOO"
 "MY5-30-FRED"
 "JUNK-0047-FOO"
 "JUNK-0562-FOO"
 "JUNK-0PAN4-FOO"
 "JUNK-0051-FOO"
 "PSPAN-036-FRED"
 "JUNK-0414-FOO"

  "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";    
}

您可以在此处查看和修改它:http://graph.gafol.net/dLQGPHJRc - 该网站使用了不错的字体和字体大小预设。

请注意,我添加了start=random,因此每次创建图表时布局可能会有所不同。

【讨论】:

  • 它可以工作,但布局并没有真正解释发生了什么。取中间左边的大块,有很多重叠的线。是的,图表已布局。但它真的能帮助你了解发生了什么吗? --- PS --- 漂亮的颜色!
  • 您对我的文件进行了哪些更改以获得此输出。当我浏览 graphviz 时,我得到了一些看起来不太好的东西。
  • 其实我认为这张图至少可以直观地解释三件事:有两种类型的节点。有 8 组不同的节点,它们彼此之间没有连接。有 7 个小组,有一个或两个“椭圆”节点,还有一个更大的小组,有几个“椭圆”节点。我同意可以更好地布置大组,减少重叠边缘 - 尝试编辑帖子中的链接,rand 参数每次都会导致不同的布局,有些比其他更好。
  • +1 来自我;我完全同意——我不知道任何接近于graphviz的商业或开源的东西,尽管你必须正确使用它,我认为你的回答很好地强调了这一点。
  • 你在这方面做得非常好。再次感谢。现在我需要修改生成此文件的程序,以使订单正确。不幸的是订单的决定性。
猜你喜欢
  • 2012-06-16
  • 2011-12-17
  • 2010-10-21
  • 2010-12-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多