绘制程序数据流的软件?

软件推荐 linux 数据可视化
2021-10-08 00:59:47

我想为项目的文档绘制数据流。我想到了这样的东西(用Dia创建)。

在此处输入图像描述

  • 功能:我希望能够绘制数据库、单机、集群和脚本/程序。我对 dia 不满意,因为:
    • 很难得到直箭头(看看“接收信息”的那个。我目前通过放大很多来“解决”这个问题。)
    • 没有图像(例如用于 PC 或用于数据库的图像)
    • 图像导入/导出不方便。我无法导出为非标准 PDF 大小,也无法导入 svg(导入时 svg 会被光栅化)。

请注意,最重要的功能是它应该允许我创建具有上图信息的漂亮图像。

  • 价格:我可以为好的节目支付最高 70 欧元的费用。但是必须有一个具有所有必需功能的免费测试版本。
  • 操作系统:Linux Mint 16 Petra(基于 Ubuntu)- Web 应用程序是不可接受的,但如果你知道一个非常好的 Windows 程序可以与 wine 一起运行,那没关系(尽管我更喜欢存储库中的一些东西)

我试过的

  • 直径:见上文
  • GIMP
    • 不允许画箭头(至少很难画)
    • 仅光栅图像导出
  • Inkscape:不允许绘制箭头。
  • Visio : 看起来不错,但 739 欧元太贵了。
4个回答

我推荐 yEd https://www.yworks.com/en/products/yfiles/yed/,它是免费的,在 Linux、Mac 或 Windows 上运行良好。

另请查看这些类似问题的答案:

绘制状态图和asm图的软件?

用于创建流程图的免费/开源工具

https://graphicdesign.stackexchange.com/q/16629/17544

试试 LibreOffice Draw 或 OpenOffice Draw(都是免费的,都是开源的,都是多平台的)。它们具有基本的流程图形状、连接器(带有或不带有箭头的线条,它们会粘在形状上并自动路由线条),并且使用任何图像只需要复制粘贴或拖放即可。作为图表的示例,请参见此图像:

示例图表

我通常使用SNAI 剪贴画来做简单的网络图

尽管我很喜欢上面提到的一些工具(我赞成 yEdit 并强烈推荐它),但作为程序员,我有时会避开基于 GUI 的拖放工具,而支持那些从文本文件中获取输入的工具。这使我可以轻松地开发程序来从我自己的数据中生成输入文本文件。

您可能不想这样做,但仍然值得查看GraphViz

这是取自站点示例页面的一个非常简单的示例:

输入:

graph {  
           a -- b;   
           b -- c;   
           a -- c;   
           d -- c;   
           e -- c;   
           e -- a;   
      } 

输出: 在此处输入图像描述

显然,它可以生成更复杂的图表,但这显示了原理 - 一种简单的文本语言来描述节点之间的关系。

GraphViz 已经存在了很长时间,得到了很好的支持,有一个活跃的论坛,并在学术界和一些流行的工具(如 DoxyGen)中广泛使用。

您特别感兴趣的 GitHub 页面How to create a network diagram with Graphviz(使用 Cisco 的图像)和 IBM 的Using Graphviz to generateautomated system diagrams


[更新] 由于您还没有找到答案,请查看 Graphviz 的“节点类型”并了解自定义形状(此页面包括,例如,数据库形状)。

另请参阅GraphViz 的数据库符号,它添加了在此处输入图像描述.

使用 Graphviz 生成自动化系统图可能会很有趣。

我之前没有想到(并计划大量使用)的事情是,您可以使用 PHP(也是 JavaScript)从(MySql 等)数据库生成 Graphviz 图表。

也许这会对你有所帮助。

多年来一直是不常使用的yEd用户,我想将draw.io添加到列表中。

这是问题中的图表,在桌面版draw.io 中创建,随后导出为 PNG(可点击):

在此处输入图像描述

借助 draw.io 的魔力(导出时,它允许将原始图表嵌入文件中),您可以在在线编辑器中打开它-- "File" => "Import from" => "URL"(粘贴链接到上图),然后继续自己编辑)