是否有一个Javascript库可在浏览器中生成一致的图形绘图(例如,图形理论样式图)?
一致的意思是给定一组输入(即节点和边的配置),它会生成唯一的图(节点的相同方向和位置相同)。
最佳答案
大多数图形布局算法(除了像网格布局或Reingold-Tilford树布局这样的完全确定性算法之外)都使用某种随机初始化。由于无法在Javascript中显式设置随机数生成器的种子,因此很难将图布局算法强制为完全确定性的。最好的选择是采用Javascript中的现有库,该库可以绘制图形(例如d3.js)并替换对Math.random
的调用,并且类似于基于纯Javascript的随机数生成器,可以为该生成器显式设置种子。然后将种子设置为相同的值应确保每次运行算法时都为相同的图形生成相同的布局。
可以在here,here或here中找到Javascript随机数生成器的实现。