有哪些好的图形布局、编辑和绘图工具?

5
在进行软件开发时,我会定期遇到需要绘制一些图表以供自己使用的情况。有时它们说明数据库中的关系,有时它们说明代码文件或类的关系,其他时候则是其他对象... 无论如何,基本需求都是相同的 - 我有一些节点和边,希望能够整齐地布置它们,添加一些信息性的颜色/文本/样式,并在最后(如果需要)可选打印出来(可以跨越几个页面)。
是否有一个工具可以让我轻松完成这个任务?我期望的功能有:
  • 从文件中导入基本的节点/边信息(我从数据库/代码/其他地方提取的原始数据);
  • 自动布局图中的一些或所有节点;
  • 允许手动调整节点和边的位置;
    • 节点组操作功能(重新布局、旋转、缩放)也非常好;
  • 能够操纵图片的视觉方面 - 更改线条、颜色和字体; 添加任意文本和图片(可能将它们附加到节点/边);
  • 能够修改节点内容(有时我只需要一个简单的文本;有时是一个小表格;有时是一个项目列表等)
  • 保存/加载/打印(包括到几个具有重叠区域的页面以粘合在一起)/导出为图像(矢量和光栅均需抗锯齿)。

添加: 这里 是我最近尝试可视化的示例图形。我想获得一个可以直接打印的可用布局,需要进行最少的微调。

3个回答

3

Graphviz 是一款历史悠久且广受欢迎的工具。我非常喜欢 yEd 的布局引擎,它支持多种格式,可以输入 GML 数据(当然也支持其他格式)。


1
很好的回答和问题,非常有用...我真的很喜欢第二个的布局,太漂亮了! - Francesco Belladonna
我刚刚尝试了一下在 PHP 文件依赖关系图上使用这两种工具(哪个文件包含哪个文件)。大约有 130 个文件(其中一半是独立的)和相同数量的依赖关系。Graphviz 把它们几乎全部排成了一条极长/极高的图。yEd 要好一点,但仍然远远不能达到可用的水平。我希望能够得到更好的工具。 - Vilx-
1
我认为 yEd 有不同的布局类型,也许可以尝试几种? - Mau
我做了。好的,我会尝试匿名化文件并在这里发布。 - Vilx-
好的,看一下修改。你能让yEd正确布局吗?我甚至无法让标签出现在节点上。 - Vilx-
显示剩余3条评论

1
你可以使用Cytoscape,这是一个图形可视化工具。我喜欢强制定向布局。

1
我发现 Gephi 非常好,主要用于两个任务:
  1. 浏览图形,即隐藏某些部分、移动节点、通过操作来理解其属性。
  2. 将其渲染以便导出到演示文稿或文章中?
默认情况下包含了不错的布局算法,并且可以轻松地从工具内安装插件。
如果您的目标是获得图形的信息量高且易读的表示,则可以考虑使用 hive plots。描述、示例和工具可在 this page 中找到。基本思想是使用确定性方法(与基于力的布局相对)来放置节点,基于一些属性或拓扑度量。所得到的表示允许有效地比较不同的图形,甚至是从不同角度考虑同一图形。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接