9 款适用于 Linux 的流程图和图表绘制工具

哪款开源流程图工具最适合你?
311 位读者喜欢此文。
A confusing business organization chart

Opensource.com

流程图是使新项目的方法论标准化的好方法。我在工作中的团队将它们用作头脑风暴会议中的工具,并且一旦构思活动结束,流程图就成为项目方法论(至少在有人更改它之前)。我的项目方法论流程图是高层次且相当简单的——通常它们仅包含过程、决策和终止符对象——尽管它们可能由数十个此类对象组成。

我主要在我的 Linux 桌面环境下工作,我的大多数办公室同事都使用 Windows。 然而,我们正在增加 G Suite 的使用,部分原因在于它最大限度地减少了与我们各种桌面环境相关的干扰。 即使如此,我更喜欢找到一个开源工具——最好是一个独立的应用程序,而不是另一个套件的一部分——它可以为流程图提供出色的支持,并且可以在我们团队使用的所有桌面上使用。

自从 Máirin Duffy 评论 Linux 图表工具 已经四年多了,所以我决定看看现在有哪些开源流程图制作工具。 我确定了以下九个候选者

候选名称 Linux 桌面 是否适用于 Windows? 是否适用于 MacOS?
Dia GNOME
LibreOffice Draw GNOME
Inkscape GNOME
Calligra Flow KDE 初步 初步
Diagramo 浏览器 浏览器 浏览器
Pencil ?
Graphviz CLI
Umbrello KDE
Draw.io 浏览器 浏览器 浏览器

我将在下面分享一些关于每一个的信息。

Dia

Dia

我审查了来自 Ubuntu 18.04 存储库的 Dia 0.97.3; 你可以在此处下载

Dia 是一个独立的绘图工具。 它提供了一些额外的组件,例如用于网络图的 dia-rib-network 和用于将 UML 转换为代码的 dia2cod

安装过程拉入了其他几个软件包,包括:dia-commondia-shapesgsfonts-x11libpython-stdlibpythonpython-cairopython-gobject2

Dia 的文档非常详尽,并提供英语、德语、法语、波兰语和巴斯克语版本。它包括有关相关实用程序的信息; Linux、Windows 和 MacOS 的版本; 许多与形状相关的东西; 还有更多。项目网站上的错误跟踪器已禁用,但在 GNOME Bugzilla 上接受错误报告。

Dia 完全支持制作流程图——适当的符号、连接器、对象上的大量连接点、对象的注释等。 即便如此,Dia 的用户体验 (UX) 感觉很奇怪。 例如,双击对象会显示属性和元数据,而不是对象的注释; 要编辑注释,必须选择该对象并单击“工具”>“编辑文本”(或使用 F2 键)。 默认文本大小 22.68pt(或约 8 毫米)似乎有点奇怪。 文本填充的默认值非常大 (0.50),即使将其减少 10 倍(至 0.05),它仍然可能在文本周围留下很大的间隙(例如,在菱形决策对象中)。 还必须先选择对象,然后才能右键单击它。 剪切和粘贴受到一定的限制——我无法从浏览器复制文本(使用标准的 Ctrl+C)并将其粘贴到 Dia 中。 Dia 启动时已准备好处理多页绘图,如果您需要制作 1x2 米的绘图且您的打印机仅能容纳信纸尺寸的纸张,这非常方便。

一般来说,性能非常快。 交互可能看起来有点奇怪(见上文),但它不需要进行大量调整就能掌握。 不利的一面是,“帮助”菜单未正确链接到文档,而且我找不到拼写检查器。 最后,据我所知,Dia 没有积极的开发。

LibreOffice Draw

LibreOffice Draw

我审查了默认安装在我的 Ubuntu 18.04 桌面上的 LibreOffice Draw 6.0.4.2 版本。

由于 LibreOffice Draw 是 LibreOffice 套件的一部分,因此任何使用 LibreOffice Writer、Calc 或 Impress 的人都将熟悉 UX。 但是,如果您正在寻找独立的流程图绘制工具并且尚未拥有 LibreOffice,则这可能是一个很大的 安装

该应用程序包含一个可通过“帮助”菜单访问的广泛的帮助设施,您可以通过在线搜索找到大量信息。

LibreOffice Draw 具有一组预定义的流程图形状,这些形状支持注释和连接器。 连接点有限——我使用的所有形状只有四个点。 Draw 的 UX 会让 LibreOffice 用户感到熟悉; 例如,双击对象会打开对象的注释。 当文本长度超过文本框的宽度时,文本会自动换行。 但是,在绘图对象中输入的注释不会换行; 您必须手动断行。 默认文本大小、间距等合理且易于更改。 Draw 允许多个页面(称为幻灯片),但它不像 Dia 那样容易地支持多页绘图。

一般来说,LibreOffice Draw 提供了良好的基本流程图绘制功能,没有任何 UX 意外。 它表现良好,至少在较小的流程图上,并且可以使用标准的 LibreOffice 写作工具,例如拼写检查。

Inkscape

Inkscape

我审查了来自 Ubuntu 18.04 存储库的 Inkscape 版本 0.92.3; 你可以在此处下载

Inkscape 是一个独立的工具,它不仅仅是一个流程图绘制实用程序。

安装过程拉入了其他几个软件包,包括:fig2devgawklibgtkspell0libimage-magick-perllibimage-magick-q16-perllibmagick+±6.q16-7libpotrace0libsigsegv2libwmf-binpython-scourpython3-scourscourtransfig

有大量 Inkscape 文档可用,包括可从“帮助”菜单访问的 Inkscape 手册。 本 教程 使我更容易开始使用我的第一个 Inkscape 流程图。

使用“创建矩形和正方形”工具栏项在屏幕上获得我的第一个矩形非常简单。 我通过使用屏幕底部的颜色样本来更改形状的背景颜色。 但是,文本似乎与其他对象是分开的,即,似乎没有带有注释的几何对象的概念,所以我先创建文本,然后添加周围的对象,最后放入连接器。 默认文本大小很奇怪(如果我没记错的话,是 30pt),但你可以更改默认值。 总之:我可以制作图表,但——根据我几分钟内所能学到的——它更多的是一个图表而不是一个流程图。

一般来说,Inkscape 是一个功能极其齐全的矢量绘图程序,具有一定的学习曲线。 对于只想绘制快速流程图的用户来说,它可能不是最好的工具。 似乎有拼写检查器可用,但我没有尝试。

Calligra Flow

来自 Calligra 网站

Calligra Flow 是一款易于使用的图表和流程图应用程序,与其他 Calligra 应用程序紧密集成。 它使您可以创建网络图、组织结构图、流程图等。

我在我的存储库中找不到 Calligra Flow。 鉴于此以及它与面向 KDE 用户的 Calligra 的紧密集成,我决定现在不审查它。 根据其网站,它看起来像是面向流程图绘制,如果您正在使用 KDE,这可能使其成为一个不错的选择。

Diagramo

Diagramo

我审查了 Diagramo 版本号 2.4.0-3c215561787f-2014-07-01,通过 立即试用! 在使用 Firefox 浏览器的 Diagramo 网站上访问。

Diagramo 是独立的、基于 Web 的流程图软件。 它声称是纯 HTML5 和 GPL,但 源代码存储库 声明该代码在 Apache License 2.0 下可用。

该工具可通过 Web 浏览器访问,因此无需安装。 (我没有下载源代码并尝试在本地安装它。)

我找不到任何关于 Diagramo 的文档。 应用程序的“帮助”按钮允许提交错误和打开调试器,“关于”下提供了版本号。

Diagramo 提供了几个绘图对象集合:“基本”、“实验”、“网络”、“次要”和“UML 状态机”。 我将我的测试限制在“基本”集合中,其中包含足够的供我使用的对象。 要创建图表,您可以从左侧的菜单中拖动对象并将它们放到画布上。 您可以在右侧的选项面板中设置画布大小。 大小以像素为单位,这还可以,尽管我更喜欢以点为单位工作。 默认文本属性为:12px、Arial 字体、居中对齐,并提供下划线和更改文本颜色的选项。 您可以通过双击默认注释(设置为文本)来查看文本上方的弹出菜单中的属性。 您必须手动断行文本,类似于 LibreOffice Draw。 对象有多个连接点(我在矩形上数了 12 个,在菱形上数了 5 个)。 连接器与形状是分开的,并出现在顶部工具栏中。 我无法将我的测试流程图保存到我的计算机。

一般来说,Diagramo 提供了良好的基本流程图绘制功能,没有任何 UX 意外。 它表现良好,至少在较小的流程图上,但似乎没有利用 Firefox 的拼写检查器。

Pencil

Pencil

我审查了从 Pencil 项目网站 下载Pencil 3.0.4 版本。 我使用 dpkg 安装了 64 位的 .deb 软件包文件。 它安装干净,没有缺少的软件包。

Pencil 是一个独立的绘图工具。 文档和教程可在 项目网站 上找到。

为了制作我的示例流程图,我从最左侧的菜单面板中选择了流程图形状集。 从那里,我可以将“过程”、“决策”和“直线连接器”形状拖到页面上。 我通过双击对象并在其中键入文本来添加注释。 (复制/粘贴也有效。) 您可以将连接器端点拖到所需的连接点附近,它们会自动连接。 默认字体设置(Arial,12pt)是一个不错的选择,但我找不到拼写检查功能。

一般来说,使用 Pencil 非常简单明了。 它提供了可靠的流程图绘制功能,没有任何 UX 意外,并且表现良好,至少在较小的流程图上。

Graphviz

根据 Graphviz 文档

Graphviz 布局程序采用简单文本语言描述的图,并以有用的格式制作图表,例如用于网页的图像和 SVG; 用于包含在其他文档中的 PDF 或 Postscript; 或在交互式图浏览器中显示。 Graphviz 具有许多用于具体图表的有用功能,例如颜色、字体、表格节点布局、线条样式、超链接和自定义形状的选项。

我没有对 Graphviz 进行全面评测。它看起来是一个非常有趣的软件包,可以将文本转换为图形表示,我可能会在某个时候尝试一下。但是,我认为对于那些习惯于更具交互性的用户体验的人来说,它不是一个好的工具。如果您想了解更多信息,Stack Overflow 提供了一个关于在 Graphviz 中构建简单流程图的快速概述。

Umbrello

我在我的存储库中发现了 Umbrello,我读到:

Umbrello UML Modeller 是一个适用于 KDE 的统一建模语言图表编辑器。它可以用行业标准的 UML 格式创建软件和其他系统的图表,还可以从各种编程语言的 UML 图表中生成代码。此软件包是 KDE 软件开发工具包模块的一部分。

由于它专注于 UML 而不是流程图,并且面向 KDE,我决定稍后再评估 Umbrello。

Draw.io

Draw.io

我评测了 Draw.io 8.9.7 版本,我是通过其网站访问的。

Draw.io 是独立的、基于 Web 的绘图软件,并且提供了桌面版本。由于它在浏览器中运行,因此无需安装。

文档可在 Draw.io 网站上找到。

Draw.io 启动时,左侧会显示一组通用的流程图绘图对象,右侧会显示上下文相关的属性。(它让人想起 LibreOffice 中的“属性”窗口。)单击形状会使其显示在页面上。文本默认为居中的 12pt Helvetica 字体。双击绘图对象会打开注释编辑器。Draw.io 会自动拆分长文本行,但在菱形对象中,拆分效果并不完美。对象具有相当多的连接点(我在矩形上数到 12 个,在菱形上数到 8 个)。与 Google Draw 类似,当拖动对象时,对齐辅助线有助于使图表方正。我将我的工作保存到计算机上的 .xml 文件中,这对于基于 Web 的服务来说是一个很酷的选项。图表也可以共享。

总的来说,Draw.io 提供了可靠的流程图功能,没有令人惊讶的用户体验问题,但没有我能找到的拼写检查器。它的性能良好,至少在较小的流程图中是这样,而且协作能力也很好。

结论是什么?

那么,我最喜欢这些流程图工具中的哪一个呢?

考虑到我倾向于可以在任何桌面上运行的独立工具,Draw.io 和 Diagramo 因其简单性和基于浏览器的操作(这意味着无需安装)而吸引了我。我也非常喜欢 Pencil,尽管必须安装它。

相反,我觉得 Dia 的用户体验有点笨拙和过时,尽管它肯定具有很棒的功能。

LibreOffice Draw 和 Calligra Flow,由于它们集成在各自的办公套件中,因此没有实现我对于独立、轻量级工具的目标。

Inkscape、Graphviz 和 Umbrello 在它们各自的领域中似乎是很棒的工具,但是尝试将它们用作简单的独立流程图创建工具似乎有点牵强。

这些工具中的任何一个会取代我们办公室中的 G Suite 绘图功能吗?我认为 Draw.io、Diagramo 和 Pencil 可以。我们拭目以待!

标签
Chris Hermansen portrait Temuco Chile
自 1978 年毕业于不列颠哥伦比亚大学以来,我几乎总离不开计算机。自 2005 年以来,我一直是一名全职 Linux 用户,从 1986 年到 2005 年,我是一名全职 Solaris 和 SunOS 用户,在此之前,我是一名 UNIX System V 用户。

17 条评论

对我来说最重要的问题是:它们如何处理交叉线?是直接交叉还是会像 Visio 那样稍微跳过?这对于我制作的图纸至关重要,也是我仍然坚持使用 Visio 的唯一原因。

感谢 Jimmy Sjölund 的建议,以及之前关于交叉线的评论。我能理解,随着流程图变得越来越复杂,线路交叉是一个非常重要的问题。

回复 作者:jimmysjolund

关于 LibreOffice Draw 的评论,“连接点有限——我使用的所有形状只有四个点。”

选择“编辑 -> 胶粘点”,您可以添加、编辑或删除连接点以创建您想要的任何配置。

非常完整的列表。您知道哪些可以用于 UML 设计吗?

感谢您的评论,Ton,很高兴知道这一点。我想知道这个问题是否正在解决。

回复 作者:未验证的 Ton van Lankveld

Draw.io 满足我的常见需求

感谢您的精彩建议,Victorhck!我真的很喜欢能够从文本文件创建图表(因为文本文件更易于管理,并且可以从其他程序生成)。

回复 作者:victorhck

Graphviz 为 plantuml 提供支持,如果您不太在意样式,您可以使用它来创建声明式图表(如果您非常在意,可以编辑输出)。关键是,对于诸如序列图、流程图等内容,您可以跟踪您的源文档并查看生成图表的定义中的差异。我强烈建议大家尝试一下。

几天前,我的一个朋友问我是否有 Visio 的替代品。我建议她尝试 Draw.io 或 Dia,她最终选择了 Draw.io。我曾经试用过这个工具。它非常酷。但是,我仍然认为,在 Linux 上的基于桌面的图表绘制工具方面,Dia 是最佳选择。

谢谢您的评论,sunawang。Dia 确实功能齐全,但正如我在文章中提到的,我认为它提供了一种有点不寻常的用户体验,这可能会让偶尔/随意的用户望而却步。

回复 作者:sunawang

Creative Commons License本作品采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可。
© . All rights reserved.