我正在使用 Doxygen 在我的源代码中制作一些 GraphViz 点图。
问题:由特定点文件生成的图形是否保证总是产生相同的输出?
对于不同的计算机、一天中的不同时间、不同的体系结构等,情况是否如此?
我正在考虑使用罗盘点来优化我的图表并让它看起来更好。
我想知道图形布局的初始播种是否存在任何“随机性”,或者布局引擎的任何“实现定义”部分是否存在。如果在其他系统上看起来不一样,我不想花很多精力来优化我的系统的输出。这将由 Windows 和 Mac 用户使用。TIA
我已经尝试了很多不同的渲染环境,比如在线/cli。
如果您使用不同的 graphviz 版本,您很有可能获得不同的结果。在同一个版本中,我从来没有在点图中遇到过不确定性问题。
另一个主题可能是,如果您使用特殊的 utf 字体,它可能会在不同的系统上呈现不同。例如,在 windows 和 mac/unix 上渲染 emoji-Flags。
也许包装器/调用工具(如 doxygen/understand/pygraph/jgraph/gograph 等)可能是不同系统上不同点文件的来源。
我会说点图本身在同一版本中是非常确定的。
我相信,默认情况下,从 graphviz 生成的图是确定性的,因为初始节点放置和求解器就是这样。要生成不同的图像,图形属性“开始”设置为 rand。