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

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

由于 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 3.0.4 版本,我从 Pencil 项目网站 下载 了该版本。 我使用 dpkg 安装了 64 位 .deb 软件包文件。 它可以干净地安装,没有遗漏软件包。

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

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

总的来说,使用 Pencil 非常简单直接。它提供了可靠的流程图绘制功能,没有令人意外的用户体验问题,并且性能良好,至少在较小的流程图中是这样。

Graphviz

根据Graphviz 文档

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

我没有对 Graphviz 进行全面评估。它看起来是一个非常有趣的软件包,可以将文本转换为图形表示,我可能会在某个时候尝试一下。但是,我不认为它对于习惯于更具交互性 UX 的人来说是一个好工具。如果您想了解更多关于它的信息,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 是一款独立的、基于网络的绘图软件,并且提供桌面版本。由于它在浏览器中运行,因此无需安装。

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

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

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

结论是什么?

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

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

相反,我觉得 Dia 的 UX 有点笨拙和老式,尽管它肯定具有强大的功能。

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 满足了我的常见需求

Graphviz 为 plantuml 提供支持,如果您不太在意样式,则可以使用它来创建声明式图表(如果很重要,您可以编辑输出)。 核心是,对于诸如序列图、流程图等,您可以跟踪您的源文档,并查看产生图表的定义中的差异。 我强烈建议人们尝试一下。

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

感谢您的评论,sunawang。 Dia 肯定功能齐全,但正如我在文章中提到的那样,我认为它提供了一些不寻常的用户体验,可能会让偶尔/临时的用户望而却步。

回复sunawang

知识共享许可协议本作品基于知识共享署名-相同方式共享 4.0 国际许可协议授权。
© . All rights reserved.